мне было интересно, если есть способ, чтобы команда ls -a
отображала определенные файлы для определенного user
/group
Критерии могут быть:
если файл скрыт и у user
/group
нет прав на чтение, даже не показывайте его.
или, может быть ..
если у файла есть определенный extended_attribute
и у user
/group
нет доступа на чтение, то даже не показывайте его.
1 ответ
Ну, это зависит от того, используете ли вы SELinux и / или расширенные атрибуты.
Это будет зависеть от того, какую версию и какой дистрибутив Linux вы используете. В Fedora, например, включен SELinux. С расширенными атрибутами, с другой стороны, вы должны загружать их отдельно.
Со стандартными разрешениями Unix ls -a
отобразит все файлы в папке. Это не скрывает имя файла от пользователей, которые имеют права доступа для чтения к этой папке. Вы можете отказать в правах на чтение файла, ограничив права на чтение для конкретного пользователя или запретив доступ на чтение к именованной группе папки.
Если вы хотите скрыть файлы от определенных пользователей или групп пользователей, вам нужно поместить их в каталог (папку), к которому у них нет прав «чтения».
С Расширенными Атрибутами и ACL вы можете достичь того, что вы хотите сделать, но это не так стандартно.