Comments 30
Ужас.
+8
Если у тебя есть доступ по SSH может имеет смысл подключиться по SSH и выключить сервер?
+4
Ну вроде как тут проблема в том чтобы это сделать быстро, жмакнул ярлык и все. А по ssh пока подключешься, пока напишешь команду. У них наверное просто сервер 1С под потолком или в стене вот и палятся
0
хоть и безопаснее
Что, простите?!
+2
Передавать root'овый пароль от сервера GET'ом — охх, даже не знаю, что с этим можно сравнить…
+13
Порт не только 22 бывает, кстати.
+1
Извращение какое-то.
P.S. Только предварительно надо разрешить этому пользователю выключать машину.
<?php
($_GET['password']=='my_pass')?system("poweroff"):die();
?>
P.S. Только предварительно надо разрешить этому пользователю выключать машину.
0
Этому?)
// авторизуемся по имени пользователя и паролю
if(!ssh2_auth_password($con, "root", $_GET["password"])) {
echo "fail: unable to authenticate\n";
0
Только идиот запустит apache с модулем php или отдельно php под рутом.
+2
Виноват, дурной, в 3 часа ночи решил, что Ваш код — цитата из авторского.
0
Идея хорошая, реализация бэд.
Совет автору — для начала посмотреть в сторону философии «слабо связанных кирпичиков»
en.wikipedia.org/wiki/Small_Pieces_Loosely_Joined
Практическую реализацию сделать через промежуточный этап (если уж охота через веб).
1. По SSL заходите, авторизуетесь
2. Жмете кнопку Выключить
3. В определенной папке на сервере создается файлик «выключиться»
4. На сервере, АСИНХРОННО от вас запускается по крону приблуда, которая видит файл, сносит его и выключает сервер.
5. Профит.
А в идеале — поставьте себе SSH клиент на мобилу и не мучайте мозг :)
Совет автору — для начала посмотреть в сторону философии «слабо связанных кирпичиков»
en.wikipedia.org/wiki/Small_Pieces_Loosely_Joined
Практическую реализацию сделать через промежуточный этап (если уж охота через веб).
1. По SSL заходите, авторизуетесь
2. Жмете кнопку Выключить
3. В определенной папке на сервере создается файлик «выключиться»
4. На сервере, АСИНХРОННО от вас запускается по крону приблуда, которая видит файл, сносит его и выключает сервер.
5. Профит.
А в идеале — поставьте себе SSH клиент на мобилу и не мучайте мозг :)
-3
Да ребят, чаще комменты не менее достойны решения (например, про cron) :)
Собствнно, если автора устраивает имперсонированное отключение и оно ему необходимо, кто мешает:
1) запускать через exec, без диких свистоплясок с ssh к localhost
2) добавить poweroff в sudoers
Собствнно, если автора устраивает имперсонированное отключение и оно ему необходимо, кто мешает:
1) запускать через exec, без диких свистоплясок с ssh к localhost
2) добавить poweroff в sudoers
+1
Точняк
Прямо без авторизации чтобы. Exec. — наше все, разделение прав на уровне здравого смысла это бред.
Даешь пыху запуск из под рута. Ай молодца
Прямо без авторизации чтобы. Exec. — наше все, разделение прав на уровне здравого смысла это бред.
Даешь пыху запуск из под рута. Ай молодца
-1
Да, вариант с cron не слишком изящный, но и совсем уж бредом назвать нельзя. В том же uWSGI есть возможность gracefull reload при изменении определённого файла (но там изящная реализация без костылей).
touch-reload
gracefully reload the uWSGI stack when a file/directory changes.
uwsgi: touch-reload: /tmp/reload.txt
if you
touch /tmp/reload.txt
the uWSGI server will be gracefully reloaded
+1
Ставите sudo, в /etc/sudoers добавляете:
username — это тот пользователь от которого работают Ваши скрипты.
Вот и всё.
Либо можно сделать chmod +s /sbin/halt и тогда любой пользователь в этой системе сможет сделать poweroff,reboot,halt и не нужен будет sudo
username ALL=(ALL) NOPASSWD: /sbin/poweroff
username — это тот пользователь от которого работают Ваши скрипты.
<?php
exec ('sudo /sbin/poweroff');
?>
Вот и всё.
Либо можно сделать chmod +s /sbin/halt и тогда любой пользователь в этой системе сможет сделать poweroff,reboot,halt и не нужен будет sudo
+1
Я такой вариант предлагать бы не стал. Ибо в sudoers можно явно определить что и кому. А setuid bit даст такую возможность всем и без разбота. И еще — setuid bit не будет работать, если будет вызываться скриптовый файл.
0
про setuid bit я же указал что ЛЮБОЙ пользователь сможет.
PS: где Вы видели /sbin/halt скриптом?
PS: где Вы видели /sbin/halt скриптом?
0
Сообщество авторов книг про компьютерную безопасность шлет Вам лучи добра за участие в поддержке спроса на их продукцию.
+2
Мсье знает толк в извращениях. Даже немного челюсть отпала.
+2
А еще в shh есть такая магия как авторизация без логина и пароля
0
Sign up to leave a comment.
Удаленное выключение linux-сервера PHP