Есть ли способ отключить выключение удаленной машины?

Я иногда ошибочно выключил удаленный компьютер, используя sudo init 0 , поэтому я написал что-то вроде одного из моих rc-файлов:

 alias sudo='sudo ' if [ $SSH_CLIENT ]; then alias init 'echo Never use init when ssh' fi 

Однако, хотя файлы rc выполняются, init все еще запускает /sbin/init а не псевдоним. И я не люблю добавлять глобальный сценарий оболочки в /usr/local/bin . Можно ли отключить sudo init 0 ? Или я должен попросить администратора о помощи?

  • Как я могу использовать разные принципы kerberos для sudo, чем для system-auth?
  • Каков мой пароль sudo?
  • Перезапустить PHP-FPM из скрипта PHP
  • как выполнять административные команды без sudo?
  • ssh как суперпользователь
  • Где я могу найти документацию о команде «sudo !!»
  • Как я могу записать cd в каталог с правами root?
  • Невозможно отредактировать / proc / sys / net / core / wmem_max
  • 3 Solutions collect form web for “Есть ли способ отключить выключение удаленной машины?”

    Переопределить sudo как функцию:

     sudo() if [ "$1" = init ] && [ -n "$SSH_CLIENT" ]; then echo >&2 "Never use init when ssh" return 1 else command sudo "$@" fi 

    Если вы хотите, чтобы ваши псевдонимы расширялись после sudo , вы все равно можете добавить

     alias sudo='sudo ' 

    он все равно вызовет нашу функцию sudo .

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

    Из вашего описания проблемы я понимаю, что вы не используете sudo очень часто при регистрации в SSH. Вы должны просто сказать это самому себе:

     if [ -n "$SSH_CLIENT" ]; then alias sudo='echo "Reconsider your wish, you must! "' fi 

    Это приведет к тому, что каждый вызов sudo приведет к предупреждению. Если вы все еще хотите sudo init 0 вам нужно будет ввести \sudo init 0 . \ Заставит оболочку использовать настоящую команду, а не ваш псевдоним.

    Тем не менее, мой фактический совет для вас – прекратить использование sudo в течение следующих 5 лет. Серьезно.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.