ACL - только предоставить доступ к чтению, * не * к исполнению
У меня есть каталог с именем /test, там есть два файла:
info.txt
script.sh
Я хочу предоставить доступ только для чтения пользователю john и сделал следующее:
setfacl -m u:john: r test/
С помощью приведенной выше команды Джон не может получить доступ к папке, потому что у него нет разрешения на выполнение, поэтому я попытался еще раз с этим:
setfacl -m u:john: rx test/
Хорошо, теперь это работает: пользователь Джон может получить доступ к папке и читать файлы.
Однако он может запустить script.sh. Последнюю власть я не собирался предоставлять. Как мне поступить?
1 ответ
Вы могли бы сделать chmod o-x test/script.sh
, но это бессмысленно. Пользователь может просто скопировать файл в свой домашний каталог, сделать его исполняемым и запустить его оттуда. В любом случае, он будет работать с правами пользователя, если он не установлен. И сценарии оболочки не могут быть setuid, но копирование файла setuid в любом случае удалит бит setuid из копии.