почему установка acl для пользователя изменяет perms группы в выводе ls?

Я пытаюсь понять, почему вывод команды ls изменился. Я имею в виду групповые разрешения для файла.

Я создал файл с именем "file" и изменил его владельца и группу:

[root@training group3]# touch file
[root@training group3]# ls -la file
-rw-r--r--. 1 root root 0 Sep  8 15:29 file
[root@training group3]# chown uczen file
[root@training group3]# chgrp group3 file
[root@training group3]# ls -la file
-rw-r--r--. 1 uczen group3 0 Sep  8 15:29 file
[root@training group3]# getfacl file
# file: file
# owner: uczen
# group: group3
user::rw-
group::r--
other::r--

затем я добавил дополнительные права rwx для пользователя "ula":

[root@training group3]# setfacl -m u:ula:rwx file
[root@training group3]# getfacl file
# file: file
# owner: uczen
# group: group3 
user::rw- 
user:ula:rwx 
group::r-- 
mask::rwx 
other::r--

мой вопрос в том, почему вывод команды ls-la (ниже) показывает теперь "rwx" для группы по сравнению с "r--", показанным getfacl выше. Почему завивки для группы были (по-видимому?) изменено, если setfacl я только добавил права для некоторого пользователя (ula)

[root@training group3]# ls -la file
-rw-rwxr--+ 1 uczen group3 0 Sep  8 15:29 file
1
задан ula
26.11.2022 3:36 Количество просмотров материала 2644
Распечатать страницу

1 ответ

я не помню, где я нашел объяснение, но это в основном, чтобы избежать сюрпризов.

большинство людей привыкли к трем наборам, видимым в ls описанием все доступ, который может получить любой. Поэтому, если столбец" группа " сохранил свое первоначальное значение, это может создать случайные дыры в безопасности. Например, у вас есть этот файл...

-rw-rwxr--+ 1 uczen group3 0 Sep  8 15:29 file

...и вы хотите ограничить никому, кроме владельца от написания, так ты бежишь chmod go-w и так:

-rw-r-xr--+ 1 uczen group3 0 Sep  8 15:29 file

теперь, если вы торопитесь, вы можете не заметить + знак ACLs присутствует, или не знаю о его значении. Если есть список управления доступом, позволяющий кому-то еще для записи в этот файл, вы в конечном итоге с разрешениями более открытым, чем ожидалось.

обратите внимание, что это относится и к программам, а не только к людям. Некоторые программы – например, ssh – проверьте разрешения Unix биты и требуют группа / другое, чтобы иметь никаких разрешений вообще. Если файл имел разрешающий ACL,ssh не знал бы этого. (Даже если кто-то обновил OpenSSH, чтобы узнать о ACL, более старые версии все равно не будут знать о них.)

из-за этого в POSIX ACL есть специальный mask: запись для установки максимум всех разрешений, предоставленных группе по умолчанию и для всех членов ACL и" группа " поле разрешений Unix изменяется для отображения значения mask: вместо Unix группа. Например, если вы делаете chmod g=rx, вы фактически установите mask::rx.

Итак, если вы видите rw-r--r--+ там, вы можете быть уверены, что никто может записать этот файл, независимо от того, какие ACL могут присутствовать, и фактически не проверять их. Точно так же, если программа видит файл, имеющий разрешения 0600, она также может быть уверена в этом без необходимости специальных знаний о POSIX ACL (и в будущем RichACLs, NFSv4 ACL, или другие типы – если они следуют этому специальному поведение.)

заметил, что getfacl вывод по-прежнему перечисляет запись группы по умолчанию как group::r--. Если вы хотите реально изменить конкретную запись, вам нужно будет сделать это с помощью setfacl.

Читайте также:

6
отвечен grawity 2022-11-27 11:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх