У меня есть пользователь с ограниченным доступом в системе (то есть он не sudoer); давайте назовем его Боб .
У меня есть скрипт или бинарный файл, которому я, системный администратор, доверяю, и у меня не возникло бы проблем с его запуском от имени пользователя root; давайте назовем сценарий get-todays-passphrase.sh
. Задача этого сценария состоит в том, чтобы читать данные из «частного» (принадлежащего пользователю / группе, отличному от Боба или даже корневого) файла, расположенного в нем /srv/daily-passphrases
, и выводить только определенную строку из файла: строку, соответствующую текущей дате ,
Таким пользователям, как Боб, не разрешается знать парольную фразу завтрашнего дня, даже если она указана в файле. По этой причине файл /srv/daily-passphrases
защищен разрешениями Unix, поэтому пользователям без полномочий root, таким как Bob, не разрешен прямой доступ к файлу. Однако им разрешено запускать get-todays-passphrase.sh
скрипт в любое время, который возвращает «отфильтрованные» данные.
Подводя итог ( версия TL; DR ):
- Боб не может прочитать защищенный файл
- Скрипт может читать защищенный файл
- В любое время Боб может запустить скрипт, который может прочитать файл
Возможно ли сделать это в разрешениях файлов Unix? Или, если Боб запускает сценарий, будет ли он всегда обречен на запуск с теми же разрешениями, что и Боб?