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

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

Модератор: immortal

Ответить
yden
Сообщения: 141
Зарегистрирован: Пн авг 22, 2016 10:03 am
Благодарил (а): 28 раз
Поблагодарили: 5 раз

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

Сообщение yden » Пн авг 17, 2020 7:05 pm

Добрый.
Подскажите пожалуйста. Мдм мастер ветка установлен на 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
Сообщения: 317
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

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

Сообщение Yashalta » Ср авг 19, 2020 9:08 pm

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);
За это сообщение автора Yashalta поблагодарили (всего 2):
yden (Ср авг 19, 2020 9:16 pm) • Gutsu Dmitriy (Пн ноя 16, 2020 8:27 pm)
Рейтинг: 2.33%
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Ср авг 26, 2020 9:45 pm

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