Если у файла есть разрешения 000
, кто или что может получить доступ к файлу? Что они могут с этим сделать?
Что, собственно, на практике означает 000 (---------)
разрешения на файл?
Если у файла есть разрешения 000
, кто или что может получить доступ к файлу? Что они могут с этим сделать?
Что, собственно, на практике означает 000 (---------)
разрешения на файл?
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$
Файл с разрешением 000 может читать/писать root.
Все остальные не могут читать/записывать/выполнять файл.
Если file/dir имеет разрешения 000, то только корень может вносить любые изменения в этот файл. Ни владелец, ни другие не могут вносить какие-либо изменения. Владелец не может даже получить доступ к файлу/директору или удалить его.
Корень может ничего сделать, кроме как выполнить файл (вне удаления файла, если файловая система установлена только для чтения или файл имеет некоторый неизменный флаг).
Пользователи, не являющиеся пользователями root, могут изменить разрешение файла, если они им принадлежат. Они могут получить доступ к файлу, если для ACL установлено его разрешение.
Все будут точными выше, если это не следующая команда.
sudo chmod -R 000 /*
В этот момент ваш компьютер мертв в воде, потому что никакие команды не могут быть выполнены, так как вы удалили все RWX из каждого файла. При выполнении этой команды нет защиты. Если вам любопытно запустить его в поле Vagrant.
Разрешение может быть 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. Помимо этого никто не может получить доступ к [читать/писать].
Я люблю тебя всех, но...
**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
работал
Быстрый google пришел к следующему: 000 Разрешений на Unix файл
Что я заметил из ссылки, так это то, что никто не может читать/писать, кроме владельца и root.