Как на VPS Centos 7 Джино перезагрузить сервер из PHP скрипта?
Привет, коллеги!
Бьюсь уже целый день не могу разобраться с задачей перезагрузить сервер из скрипта PHP
Вот что нашел и пробовал по теме:
1. Добавляем в файл /etc/sudoers:
%www-data ALL=NOPASSWD: /sbin/shutdown
2. Вызываем в php shell_exec('sudo /sbin/shutdown -r now');
Вроде должно работать, но...
По пункту 1 не могу разобраться как из консоли добавить строку в /etc/sudoers
Пробовал через редактор но увы не получилось ничего, пишут везде что через утилиту visudo нужно.
Открываю файл через нее вставляю строку, нажимаю ESC и wq для записи, появляется сообщение сохранение и на этом все.
Никак не могу сделать вроде бы простую задачу, подскажите может есть какой нибудь еще способ перезагрузки из php скрипта сервера.
Из какой консоли добавляете? Если из PHP-консоли, то у www-data нет прав на visudo, ибо нефиг. Нужно из-под рута, желательно по ssh, это всё подготовить, а потом вызывайте сколько влезет, но берегитесь ботов, которые тоже любят вызывать что попало где попало.
вызывал из под roor через putty, не могу сохранить, и не понимаю в принципе писать строку %www-data ALL=NOPASSWD: /sbin/shutdown или #%www-data ALL=NOPASSWD: /sbin/shutdown
Всё что с решеткой в начале - комментарий и не имеет эффекта. Так что пишите без решетки.
А почему не сохраняет - смотреть надо, хотя на самом деле должен, это не винды.