У меня есть простой скрипт завершения работы, который я хочу запустить от имени пользователя root
shutdown -h +30;
echo "succesfull";
Я следовал этому ответу 1 , 2 , чтобы сделать мой скрипт корневым .
сначала я запустил эту команду
sudo chown root.root $HOME/test/test.sh
sudo chmod 4755 $HOME/test/test.sh
, а затем внес изменения в sudoers
sudo visudo
добавил эту команду после этой строки %sudo ALL=(ALL:ALL) ALL
eka ALL=(ALL) NOPASSWD: $HOME/test/test.sh
Но когда я выполнил свой скрипт, он показывает эту ошибку
shutdown: Need to be root
succesfull
не Делают использование setuid сценарии оболочки, SUID укусил, не соблюдается на сценариях оболочки так или иначе на существующих системах. Используйте sudo
вместо этого, когда Вы попытались так или иначе:
eka ALL=NOPASSWD: /home/eka/test/test.sh
И затем:
eka$ sudo ~/test/test.sh
, С которым, test.sh
будет выполняться как "корень". Никакая потребность использовать setuid здесь.