Найти тему

Linux | Доступ на чтение файла без просмотра директории

Приветствую тебя $USER! Часто нам приходится предоставлять доступ к файлам на чтение. Это может быть пользователь в роли разработчика, которому необходимо посмотреть и изменить конфигурацию сервиса на продакшн-сервере или техническому пользователю, от имени которого запускается агент, считывающий лог-файлы для последующей отправки в систему мониторинга.

Если требуется скрыть структуру каталогов и предоставить доступ лишь к конкретным файлам, можно установить права на чтение конкретного файла, но запретить чтение содержимого каталогов по пути его расположения. Для этого нужно выполнить команду "chmod 711 <путь к каталогу>". Эта команда изменит права доступа для группы и остальных пользователей. Права "read" позволят просмотреть содержимое каталога (например командой ls), а права "execute" позволят изменить рабочую директорию на целевую или следующую по структуре (команда cd), получить дополнительную информацию о содержимом (команды du, ls -l и .т.д.). Так мы запретим выводить список файлов и директорий по пути к файлу, но предоставим доступ к нему через несколько каталогов. Важно отметить, что для доступа к такому файлу необходимо знать полный путь к нему.

-2

Так же некоторые команды командной оболочки могут не работать без доступа на чтение каталога, это может быть связано с различиями в реализации команд, например "cd" в fish-shell.

Ситуация, описанная выше, является примером использования данной возможности. Можно предоставить доступ для работы с каталогом на определенном уровне вложенности и для более точечного управления доступом использовать ACL (Access Control List), о чем поговорим в следующих статьях.