Назад | Перейти на главную страницу

Ограничьте sudo только одним каталогом и его подкаталогами файлом sudoers

Поэтому я хотел бы ограничить Apache изменением разрешений только в определенной папке и во всех ее подкаталогах, так что это то, что у меня есть в моем файле sudoers

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [g+ws] /var/www/sites/[a-z]+

Но это, похоже, не работает. Я уверен, что смог бы заставить его работать, сняв ограничение на подпапку, но это кажется опасным, поскольку это даст потенциальному хакеру неограниченный доступ.

Так есть ли способ ограничить apache только изменением файлов и папок в папке "sites", или я застрял в предоставлении неограниченного доступа с помощью chmod / chown?

Есть ли большие дыры в безопасности при использовании этого подхода?

Вероятно, лучше сделать команду chmod сценарием оболочки, запускаемым только пользователем root, а затем разрешить запуск этой команды в sudo.

Хорошо, так что очевидно, что здесь не используются полные регулярные выражения, которых я ожидал, обычная звезда сделала свое дело:

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [go]+ws /var/www/sites/*

Это очень опасно. Это откроет уязвимость на вашем сервере. Что произойдет, если пользователю удастся запустить chmod -R g + w /var/www/sites/../../../../etc/shadow?