uscr 27.09.2011 00:17
Есть проблема! — [РЕШЕНО] SUDO ведёт себя неадекватно.
Нужно разрешить конкретному пользователю выполнять 2 скрипта через sudo. И всё. Только 2 скрипта.В связи с этим в /etc/sudoers появилась такая запись:
1 |
|
При попытке выполнить один из скриптов запрашивается пароль, причём после ввода правильного пароля пользователя получаю такой отлуп: Sorry, user username is not allowed to execute '/home/username/update.sh' as www-data on hostname.domain.ru.
Запускаю вот так:
1 |
|
UPD.
Внезапно обнаружил, что судо не работает для этого пользователя вообще. Даже ALL=(ALL) NOPASSWD: ALL.
ОС - Debian 6.0.1 (squeeze)
РЕШЕНИЕ:
Добавил права на доступ к домашнему катологу юзера, от которого запускается sudo для юзера, от имени которого запускается команда. Для самих скриптов тоже нужны верные права.Может быть дело в правах? На домашний каталог сейчас стоят права 700, на скрипты 766.
Но с правами уже играл как только мог.
Раньше уже была такая проблема на центосе. В тот раз воспалённый мозг родил вот такой костыль:
1 |
username ALL=/home/username/hard_update.sh, /home/username/update.sh
|
таже фигня, кстати. курил-курил маны - так и не выкурил ничего. :(
А ему там зачем быть? Я из сеанса username запускаю скрипт от имени www-data.
Ну, быть www-data в /etc/sudoers не обязательно, но права на выполнение /home/username/hard_update.sh, /home/username/update.sh скриптов ему необходимы.
А поскольку дирректория /home/username с правами 700, для пользователя www-data они недоступны.
Думаю так.
А поскольку дирректория /home/username с правами 700, для пользователя www-data они недоступны.
Думаю так.
Нет. Просто запрос пароля перестал появляется. А скрипт не запускается даже.
А что говорит sudo -l от имени этого юзера?
И что появляется в auth.log в качестве ошибки?
И что появляется в auth.log в качестве ошибки?
Matching Defaults entries for username on this host:
env_reset
User username may run the following commands on this host:
(www-data) NOPASSWD: /home/username/hard_update.sh, /home/username/update.sh
env_reset
User username may run the following commands on this host:
(www-data) NOPASSWD: /home/username/hard_update.sh, /home/username/update.sh
По-моему, если скобки отсутствуют, разрешён запуск только от имени root.