У меня есть распи тип устройства в центре обработки данных, и недавно случайно жира пальцами и вставить команду shutdown в неправильный терминал на моем экране. Есть ли способ, чтобы держать команду shutdown-r, но удалить
#отключение -п -ч выключенного` `#опционов?
Я хочу, чтобы держать команду выключение-Р
. Я хочу поставить таймер на это, если мне удается "заморозить" систему, или запереться с правилами таблицу IP. завершение работы-пример R +10
Вы должны использовать systemd в основе дистрибутива Linux. В этом случае, вы должны маска с выключенного цели, так что systemd не будет отказаться от его выполнения (и выключения). например:
systemctl mask poweroff.target
Это делает его совершенно невозможным завершение системы, кроме как перезагрузка. Вижу, что ничего не происходит:
В данном случае, это ВМ'переключить виртуальная власть не'т даже работать для завершения работы системы уже. Но это все равно прекрасно перезагружается.
Чтобы отменить изменение, конечно, просто разоблачать цели. Затем вы можете отключить систему.
systemctl unmask poweroff.target
Есть несколько способов добиться этого . Можно было бы работать с обычной непривилегированной учетной записью, которая потребует запуска команды с sudo и вводить пароль. Затем вы можете добавить следующее в /etc/пользователям использовать sudo? (с помощью команды visudo):
## user is allowed to execute reboot -r only
jdoe ALL=NOPASSWD: /sbin/shutdown -r *
Кроме того, чтобы отключить кэширование учетных данных судо , добавить следующие :
Defaults timestamp_timeout=0
Это позволит предотвратить кэширование учетных данных при выполнении команды с sudo перед.
Пример:
[root@ops ~]# su - jdoe
[jdoe@ops ~]$ sudo shutdown -c
[sudo] password for jdoe:
[jdoe@ops ~]$ sudo shutdown -r +10
Shutdown scheduled for Mon 2018-09-03 18:51:13 IDT, use 'shutdown -c' to cancel.
[jdoe@ops ~]$ sudo shutdown -H
[sudo] password for jdoe:
^[[A[jdoe@ops ~]$ sudo shutdown -c
[sudo] password for jdoe:
Обратите внимание, как в приведенном выше примере мне не нужно вводить свой пароль при запуске выключение -Р судо +10
, а для остальных я был . Если вы хотите, чтобы избавиться от необходимости вводить sudo перед командой (судо выключение -р +10
), добавьте следующую строку в ваш .bash_profile или .bashrc следующее:
alias shutdown="sudo shutdown"
Пример:
[jdoe@ops ~]$ source ~/.bash_profile
[jdoe@ops ~]$ shutdown -r +10
Shutdown scheduled for Mon 2018-09-03 19:03:14 IDT, use 'shutdown -c' to cancel.
[jdoe@ops ~]$ shutdown -c
[sudo] password for jdoe:
Обратите внимание, что он'ы лучшие практики для работы с непривилегированной учетной записью и нагнетать с sudo, когда требуется.
Есть инструмент под названием Молли-охранник, что требует от вас указать имя машины, которую вы хотите выключить или перезагрузить.
В случае, если вы'повторно не используете Debian, то она должна быть тривиальной для компиляции из исходников, учитывая, что программа довольно примитивна.
Для предотвращения неудач и RHEL based дистрибутивов уже настраивать псевдонимы РМ
, СР
и МВ
, который может быть более разрушительной, когда выполняются пользователем root.
Вы можете добавить ваш собственный, например:
#/root/.bashrc
alias poweroff='echo "poweroff: Command disabled - THINK before you type.
Use /usr/sbin/poweroff if you really want to drive to the DC to restore power."'
Переименовать исполняемый файл shutdown, чтобы что-то невозможное, чтобы случайно вызвать.
После отключения псевдоним `быть
(любой) -Р`