Кто может получить доступ к файлу с восьмеричными разрешениями "000" в Linux/UNIX?

Если у файла есть разрешения 000, кто или что может получить доступ к файлу? Что они могут с этим сделать?

Что, собственно, на практике означает 000 (---------) разрешения на файл?

Ответ 1

root может делать все, другие (с userid!= 0) ничего не могут сделать. Но любой, кто имеет право на запись в содержащую папку, может удалить файл. Владелец может, конечно, всегда менять флаги и восстанавливать доступ в любое время.

greybox:~ septi$ touch foo
greybox:~ septi$ chmod 000 foo
greybox:~ septi$ ls -l foo
----------  1 septi  staff  0 Apr  8 12:28 foo
greybox:~ septi$ cat foo
cat: foo: Permission denied
greybox:~ septi$ sudo ls -l foo
Password:
----------  1 septi  staff  0 Apr  8 12:28 foo
greybox:~ septi$ 

Ответ 2

Файл с разрешением 000 может читать/писать root.

Все остальные не могут читать/записывать/выполнять файл.

Ответ 3

Если file/dir имеет разрешения 000, то только корень может вносить любые изменения в этот файл. Ни владелец, ни другие не могут вносить какие-либо изменения. Владелец не может даже получить доступ к файлу/директору или удалить его.

Ответ 4

Корень может ничего сделать, кроме как выполнить файл (вне удаления файла, если файловая система установлена ​​только для чтения или файл имеет некоторый неизменный флаг).

Пользователи, не являющиеся пользователями root, могут изменить разрешение файла, если они им принадлежат. Они могут получить доступ к файлу, если для ACL установлено его разрешение.

Ответ 5

Все будут точными выше, если это не следующая команда.

    sudo chmod -R 000 /*

В этот момент ваш компьютер мертв в воде, потому что никакие команды не могут быть выполнены, так как вы удалили все RWX из каждого файла. При выполнении этой команды нет защиты. Если вам любопытно запустить его в поле Vagrant.

Ответ 6

Разрешение может быть XYZ, в котором первый X для владельца, второй Y для Группа (группа других пользователей, которую вы настроили), третий Z для Мир (кто-нибудь еще просматривает файловую систему). Они могут иметь любой из следующих уровень разрешений:

0 = no permissions whatsoever; this person cannot read, write, or execute the file
1 = execute only
2 = write only
3 = write and execute (1+2)
4 = read only
5 = read and execute (4+1)
6 = read and write (4+2)
7 = read and write and execute (4+2+1)

Итак, в вашем примере: Файл с разрешением 000 может быть доступен [чтение/запись] с помощью root. Помимо этого никто не может получить доступ к [читать/писать].

Ответ 7

  • Как root, измените разрешения файла на 000. Доступ к этому файлу и его содержимому может получить только root.
  • Как пользователь, измените права на свой собственный файл. Пользователь и его содержимое не могут быть доступны. Но root имеет полные права на файл.

Ответ 8

Я люблю тебя всех, но...

**root**@bob:~# ls -lah /etc/cron.hourly/                                                                                                                       
total 24K  
drwxr-xr-x   2 root root 4.0K Jun 16 05:23 .  
drwxr-xr-x 110 root root  12K Aug 25 21:26 ..  
**----------   1 root root  228 Aug 25 21:47 gcc.sh**  
-rw-r--r--   1 root root  102 Jun 11  2015 .placeholder  
**root**@bob:~# rm -Rf /etc/cron.hourly/gcc.sh  
**rm: cannot remove ‘/etc/cron.hourly/gcc.sh’: Operation not permitted**  

чтобы удалить этот файл (который является трояном)
Я сделал:

[email protected]:~# lsattr /etc/cron.hourly/gcc.sh  
-----a---------- /etc/cron.hourly/gcc.sh  
[email protected]:~# **chattr -a /etc/cron.hourly/gcc.sh**  
[email protected]:~# lsattr /etc/cron.hourly/gcc.sh  
---------------- /etc/cron.hourly/gcc.sh  

то

rm -Rf /etc/cron.hourly/gcc.sh  

работал

Ответ 9

Быстрый google пришел к следующему: 000 Разрешений на Unix файл

Что я заметил из ссылки, так это то, что никто не может читать/писать, кроме владельца и root.