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 из копии.

Другие вопросы по тегам