Я только что столкнулся со случаем, когда у группы-владельца файла больше прав, чем у пользователя-владельца файла.
user1@pc:/tmp$ ls testfile -l
----rw---- 1 user1 user1 9 Okt 16 13:16 testfile
Так как у пользователя user1
нет прав на чтение файла, я получаю это
user1@pc:/tmp$ cat testfile
cat: testfile: Permission denied
Это меня удивило, поскольку я user1
являюсь членом группы user1
, имеющей разрешение на чтение файла.
Интересно, что при этом:
root@pc:/tmp$ addgroup user2 user1
Adding user `test' to group `ress' ...
Adding user test to group ress
Done.
root@pc:/tmp$ su user2
user2@pc:/tmp$ cat testfile
content of testfile
user2@pc:/tmp$
Я могу прочитать testfile
содержимое.
Похоже, что разрешения, предоставленные (или нет) на уровне пользователя-владельца, имеют приоритет над чем-либо более поздним, например, разрешениями, существующими из-за членства в группе.
Мой вопрос заключается в том, есть ли ссылка на такое поведение, которое я наблюдаю в своей системе Linux (то есть отсутствие прав пользователя отменяет права группы)?
Есть ли еще вариант использования такого поведения?
решение1
Разрешения на доступ к файлу в частности не позволяют владельцу ( user1
) читать, записывать или выполнять этот файл.
Если бы вы изменили владельца на другого пользователя, то вы смогли бы прочитать файл с правами доступа группы.
Выдержка изWiki-страница о разрешениях файловой системы
Классы
...
Действующие разрешения определяются на основе класса пользователя. Например, пользователь, являющийся владельцем файла, будет иметь разрешения, предоставленные классу владельца, независимо от разрешений, назначенных классу группы или классу других.