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

Работает ли скрипт с установленным битом SUID так же, как и запуск того же скрипта с sudo (или root)?

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

Владелец файла скрипта - root.

rwsr-xr-x  1 root  root  2438 paź  8 12:10 script.sh

Когда я запускаю это из bash как root, все работает нормально ... но когда я запускаю его как пользователь apache (он запускается svn hook post-coomit script, запущенным как apache), я получаю сообщения об отказе в разрешении.

Для меня это странно, или я неправильно понял майнинг бита SUID. (пользователи получат разрешения владельца файла, а также UID и GID владельца при выполнении файла / программы / команды.)

Так в чем разница. Должен ли я добавить соответствующую строку в / etc / sudoers, которая позволит запускать этот скрипт от имени пользователя root ...

В большинстве сред bash-скрипты (и большинство других) не могут быть запущены как SUID (из-за серьезных проблем с безопасностью *).

Если вам нужна только пара команд, запускаемых от имени root, вы можете отредактировать /etc/sudoers чтобы позволить процессу apache запускать только эти конкретные команды от имени пользователя root.

*http://www.vidarholen.net/contents/blog/?p=30