LINUX.ORG.RU
решено ФорумAdmin

Защита от случайного выключения удаленного сервера

 ,


0

2

Когда долго работаешь по ssh с удаленным сервером, можешь случайно, так сказать по инерции вырубить его, как привык делать с домашней машиной. И даже пароль вводится уже по инерции. В лучшем случае придётся бежать в серверную, в худшем ехать в другой город и так далее. Появилась такая идея: требовать подтверждения на исполнение определенных команд, например при помощи такого скрипта:

#!/bin/sh

# Количество символов подтверждения
mnpus_sym=8

# Количество попыток
mnpus_cnt=3

[ "$1" ] || { echo "Use: basename $0 <command>" ; exit ; }

while [ ! "$mnpus_cnt" -eq "0" ]  ; do
   mnpus_str="`head /dev/urandom | tr -dc 'a-zA-Z0123456789' | \
   cut -c 1-${mnpus_sym}`"
   printf "Confirm the command, enter this code: \033[36;1m${mnpus_str}\033[0m > "
   read mnpus_inp

   if [ "${mnpus_str}" = "${mnpus_inp}" ] ; then
      exec ${@}
   else
      echo "Enter the wrong code."
   fi

   mnpus_cnt=`expr ${mnpus_cnt} - 1`
done

Используется ли где-нибудь такое уже? И как вам идея?

★★★★★

Ответ на: комментарий от tazhate

Дистрибутивах, а не ноутбуках.

Это программно-аппаратный комплекс.

У меня такого диалога нет и не будет.

Значит однажды ты выполнишь poweroff не в том терминале. Может быть. Если не повезёт.

sin_a ★★★★★
()
Ответ на: комментарий от tazhate

По сабжу - man sudo

Вырубал так не раз и не два. Просто sudo halt -p, пароль по инерции, доходит только когда ssh-сессия отваливается.

IPR ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Значит однажды ты выполнишь poweroff не в том терминале. Может быть. Если не повезёт.

За овер 5 лет так и не выполнил :)

tazhate ★★★★★
()
Ответ на: комментарий от IPR

Вырубал так не раз и не два. Просто sudo halt -p, пароль по инерции, доходит только когда ssh-сессия отваливается.

Еще раз: man sudo. Запрети выполнение на halt тупо.

tazhate ★★★★★
()
Ответ на: комментарий от sin_a

У тебя одинаковые пароли?

Были, когда работал админом. Требование начальства.

IPR ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Напрашивается один вопрос...

Предположу вопрос: почему я уже не админ? Всё просто, мне надоело. Уволился по собственному желанию, хотя и пытались удержать.

IPR ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Еще раз: man sudo. Запрети выполнение на halt тупо.

Ну эта да.

IPR ★★★★★
() автор топика
Ответ на: комментарий от IPR

Нет, не после этого-ли случая... Впрочем, если ты уже сторож/дворник, то что тебе до остановленного где нибудь далеко сервере?

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Нет, не после этого-ли случая...

Нет, я всегда мог рассказать сказку о сбое питания, да и начальство грешило подобным :)

Впрочем, если ты уже сторож/дворник, то что тебе до остановленного где нибудь далеко сервере?

Где-то в следующем году собираюсь переезжать в ННовгород. Может буду админить.

IPR ★★★★★
() автор топика

Лучше, по-моему, в обёртке проверять, что шелл удалённый, и если да, выводить [красным] 10-секудный таймер.

berrywizard ★★★★★
()

В репозиториях debian есть пакет molly-guard - выполняет примерно ту же задачу, для выключения или перезагрузке машины по ssh требует подтверждения (ввода хостнейма).

Narian
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.