ubuntu server, скрипт выключения из под мдм

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
yden
Сообщения: 141
Зарегистрирован: Пн авг 22, 2016 10:03 am

ubuntu server, скрипт выключения из под мдм

Сообщение yden »

Добрый.
Подскажите пожалуйста. Мдм мастер ветка установлен на ubuntu server 16.04, ноутбук. Ранее был установлен на той же системе. Скриптом, указанный ниже, я в случае пропадания питания выключал компьютер. Ранее все работало, но после того как перенес на чистую систему на ноуте перестал выключаться. Хотя через консоль этой же командой ноут выключается. Я подозреваю, что я что-то на убунте на донастроил. Плиз, почему не происходит выключения ноута?

Код: Выделить всё

//--------------------------------------------------------------------------------------
//выключение
say('Подготовка к выключению',200);
say('Сохранение базы данных',200);
say('Сервер будет выключен через 30 секунд',200);
$filename  = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = "root" . DB_USER . "****" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
setTimeout("shutdownTimer","safe_exec('sudo systemctl poweroff');",30); 
благодарю
Yashalta
Сообщения: 318
Зарегистрирован: Вс май 20, 2018 9:27 am

Re: ubuntu server, скрипт выключения из под мдм

Сообщение Yashalta »

yden писал(а): Пн авг 17, 2020 7:05 pm ...Я подозреваю, что я что-то на убунте на донастроил.
Все верно!
Ubuntu - это "OS" а, "MD" - это web. сервер! Кликая мышкой на кнопку перезагрузка/отключение в "MD" Вы отдаете команду веб. серверу перезагрузить/выключить "OS". Кто Ж ему это позволит?

А вот, Вы это ему и позвольте!

Открываем файл
sudo nano /etc/sudoers
Найдите там эту строку.

Код: Выделить всё

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
И приводим её к такому виду

Код: Выделить всё

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
www-data ALL = NOPASSWD: /sbin/shutdown
www-data ALL = NOPASSWD: /sbin/reboot
Но, после такой манипуляции Вам всеравно нужно использовать каманду с sudo
т.е. команды должны быть такими
setTimeout("shutdownTimer","safe_exec('sudo shutdown -r now');",15);
setTimeout("shutdownTimer","safe_exec('sudo shutdown -h now');",15);
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: ubuntu server, скрипт выключения из под мдм

Сообщение Divan »

Также, для того, чтобы через Ubuntu работало удаленное выключение ноутбука, необходимо установить smaba. Без samba не будет работать удаленное выключение. Читаем подробную статью.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить