Права доступа к файловой системе Linux от имени пользователя root и пользователя без полномочий root?

276
jumpUpToTheCeiling

У меня есть базовые знания о разрешениях файловой системы в Linux (или я думаю, что у меня так далеко ...), но то, с чем я сталкиваюсь сейчас, сбивает меня с толку.

Чтобы дважды проверить это и для демонстрации, я воссоздал его на чистой установке OEL.

У меня есть 3 пользователя: root, svcuser (член группы "mygroup") и otheruser

[root@oel ~]# id root uid=0(root) gid=0(root) groups=0(root) [root@oel ~]# id svcuser uid=500(svcuser) gid=501(svcuser) groups=501(svcuser),500(mygroup) [root@oel ~]# id otheruser uid=501(otheruser) gid=502(otheruser) groups=502(otheruser) 

В / opt есть папка ("app"), а в ней - субфолер ("sub"). / opt принадлежит root: root, точно так же, как / opt / app, но / opt / app / sub принадлежит svcuser: mygroup, права доступа установлены на 700, но как root я все еще могу перечислить его содержимое и создать новый файл в нем:

[root@oel ~]# cd /opt [root@oel opt]# ll total 8 drwxr-xr-x. 3 root root 4096 Aug 30 23:24 app drwxr-xr-x. 2 root root 4096 Mar 26 2015 rh [root@oel opt]# ll app total 4 drwx------. 2 svcuser mygroup 4096 Aug 30 23:27 sub [root@oel opt]# ll app/sub total 0 -rw-r--r--. 1 root root 0 Aug 30 23:27 newfile 

Я не могу сделать то же самое, что и «другой пользователь».

Нет наследуемого ACL по умолчанию:

[root@oel ~]# getfacl /opt/app getfacl: Removing leading '/' from absolute path names # file: opt/app # owner: root # group: root user::rwx group::r-x other::r-x  [root@oel ~]# getfacl /opt/app/sub/ getfacl: Removing leading '/' from absolute path names # file: opt/app/sub/ # owner: svcuser # group: mygroup user::rwx group::--- other::--- 

В чем причина такого поведения? Есть ли у пользователя root какие-либо дополнительные права доступа к таким папкам без явного разрешения для этого? Или это из-за того, что родительская папка принадлежит root?

Я также проверил настройки SELinux, но, насколько я понимаю, они вступают в действие только тогда, когда правила DAC уже не запрещают доступ, как мне кажется, но «root» и «otheruser» имеют одинаковый контекст, так что это не должно иметь значения:

[root@oel opt]# id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@oel ~]# su otheruser [otheruser@oel root]$ id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023  [root@oel opt]# ls -Z drwxr-xr-x. root root unconfined_u:object_r:usr_t:s0 app drwxr-xr-x. root root system_u:object_r:usr_t:s0 rh [root@oel opt]# ls -Z app/ drwx------. svcuser mygroup unconfined_u:object_r:usr_t:s0 sub 

Из-за того, что родительская папка принадлежит root-объекту, я попытался сделать то же самое с подпапками в домашних папках обоих пользователей: то же самое происходит с root, но с «otheruser» я даже не могу прижаться к кому-либо остальное.

[root@oel ~]# pwd /root [root@oel ~]# ll total 48 -rw-------. 1 root root 1829 May 6 16:20 anaconda-ks.cfg -rw-r--r--. 1 root root 28275 May 6 16:20 install.log -rw-r--r--. 1 root root 7570 May 6 16:17 install.log.syslog drwxr-xr-x. 2 svcuser mygroup 4096 Aug 30 23:32 sub 

Если честно, теперь я полностью потерял след, поэтому в основном мой вопрос был бы: что именно я пропускаю? Я провел день, рассматривая вопросы о разрешениях для файлов Linux, но я видел только очень простые варианты использования, и я не могу этого понять. В результате чего некоторые привилегии наследуются от родительских папок?

1
Смотрите [этот вопрос U & L] (https://unix.stackexchange.com/q/117150/108618). Kamil Maciorowski 6 лет назад 3
Если вы в основном спрашиваете, есть ли у root права доступа к файлам / папкам без явного разрешения, ответ - да. Вот почему это называется суперпользователем. Думайте об этом как о чем-то похожем на режим бога. n8te 6 лет назад 0
По сути, концепция полномочий не применяется к `root` (кроме разрешения на выполнение файла) Alex 6 лет назад 0
Спасибо, одна вещь, которую я сейчас не понимаю: я проверил на рабочем сервере, где мой домашний каталог имеет те же самые установленные разрешения, но при попытке отобразить его содержимое у пользователя root, я все еще получаю ошибку «Отказано в доступе» , Мой домашний фолд монтируется через NFS. Если пользователь root отменяет проверки разрешений, как этого достичь? jumpUpToTheCeiling 6 лет назад 0

0 ответов на вопрос

Похожие вопросы