Мне нужно разрешить членам группы ftpusers изменять права доступа ко всем объектам внутри определенного каталога. Я искал, как это сделать, но все, что я нашел, это как сделать это в BSD:
chmod +a "ftpgroup allow writesecurity" /some/dir
Мне нужно то же самое, но для Debian / GNU.
Спасибо
Только владелец файла или root может изменять права доступа в Linux (доступ для записи! = Доступ для изменения прав)
Единственный способ, о котором я могу думать, - это использовать sudo. Я не знаю, поможет ли это, и я был бы чрезвычайно осторожен с тем, как вы указываете правила sudo, чтобы у пользователей не было никаких дополнительных привилегий.
Обратите внимание, что если они подключаются через FTP-сервер, sudo, вероятно, не ответит.
Одно из решений (которое мне пришлось использовать) - это выполнение задания cron и изменение разрешений для указанного каталога и файлов в нем. Не очень, но работает.
Если вы хотите расширить возможности пользователей по изменению этого параметра, вы можете разрешить пользователям из ftpgroup разрешить chmod в указанном каталоге с соответствующим правилом с использованием sudo.
Или вы можете создать сценарий оболочки, который выполняет соответствующие проверки и выполняет функцию, и разрешить запуск этой программы через sudo. Я не предлагаю и не рекомендую сценарий оболочки set-uid.
Просто дайте ftpusers права на запись и владение этим каталогом:
chgrp ftpusers <directory>
chmod g+rwx <directory>
Затем установите бит GID, чтобы все новые файлы наследовали групповое владение:
chmod g+s <directory>