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