7

Эта команда не выполняется в OpenSuSE 11.4:

root@host# sudo -S -u "coreapp_customer1_d" -g "coreapp_customer1_d"  /bin/bash -l -c "mkdir -p /home/coreapp_customer1_d/.ssh"

с этим сообщением:

Sorry, user root is not allowed to execute 
'/bin/bash -l -c mkdir -p /home/coreapp_customer1_d/.ssh' 
as coreapp_customer1_d:coreapp_customer1_d
on workdevel114.

но это работает на OpenSuSE 12.3.

Я сравнил файл /etc /sudoers обеих систем, и (за исключением строк комментариев) они одинаковы.

2 ответа2

7

Я сам столкнулся с этой проблемой и смог решить ее

root    ALL=(ALL:ALL) ALL

в visudo . Важная часть :ALL . Страница руководства sudoers гласит:

В следующем примере пользователь tcm может запускать команды, которые обращаются к файлу модемного устройства с группой номеронабирателя.

tcm boulder = (: номеронабиратель) /usr /bin /tip, /usr /bin /cu,\/usr /local /bin /minicom

Обратите внимание, что в этом примере будет установлена только группа, команда все еще выполняется от имени пользователя tcm. Например

$ sudo -g номеронабиратель /usr /bin /cu

В моем контексте использование -g было целым, так как я хотел знать, с помощью чего группа может писать:

sudo -u nobody -g some_group find . -writable 2> /dev/null > /tmp/some_group_writable.txt
1

Я нашел работу вокруг себя:

В моем контексте опция -g (группа) не нужна. Если команда вызывается без нее, она работает в старом выпуске.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .