У меня есть веб-сервер под apache2 и php5. Я хочу завершить работу использующего компьютеры веб-сервера, но завершать работу компьютера текущий пользователь должен быть 'корневым' пользователем, потому что команда для выключения ПК 'shuwdown-h теперь' должна быть выполнена при пользователе root.
php пользователя называют 'www-данными'.
У меня есть такие файлы
#!/bin/bash
echo $(shutdown -h now);
Если этот сценарий назовут, сценарий 'shutdown.sh' должен быть выполнен.
<?php
echo "Shutdown";
echo exec ( 'shutdown.sh' );
?>
question:how для выполнения файла 'shutdown.sh' как пользователь root без пароля. Или возможно другой - пути, существуют?
Вы можете дать www-data разрешение на выполнение команды выключения. Попробуйте это:
В качестве пользователя root используйте команду 'visudo', чтобы отредактировать файл / etc / sudoers. Последние строки должны выглядеть следующим образом:
# Спецификация псевдонима Cmnd
# Спецификация привилегий пользователя
root ALL = (ALL: ALL) ALL
[ 115] # Члены группы администраторов могут получить привилегии root
% admin ALL = (ALL) ALL
blockquote>Итак, в конце файла вставить:
www-data ALL = NOPASSWD: / sbin / shutdown
blockquote>Затем выйдите из редактора и сохраните его (CTRL + x).
Пользователь www-data должен теперь иметь возможность вызвать отключение без пароля sudo.