отключить вход в систему, отредактировав файл /etc/password

Просто укажите это на моей виртуальной машине KVM (, где я задавался вопросом, приводит ли перезагрузка хоста к чистому завершению работы гостей ). Я нашел то, что мне нужно, в/var/log/auth.log(в дополнение к last -x shutdown, показывающему то же самое ). Там появились эти строки:

Sep  3 23:56:31 Web systemd-logind[531]: Power key pressed.
Sep  3 23:56:31 Web systemd-logind[531]: Powering Off...
Sep  3 23:56:31 Web systemd-logind[531]: System is powering down.
Sep  3 23:55:45 Web systemd-logind[591]: New seat seat0.
Sep  3 23:55:45 Web systemd-logind[591]: Watching system buttons on /dev/input/event0 (Power Button)
Sep  3 23:55:54 Web sshd[805]: Server listening on 0.0.0.0 port 22.
Sep  3 23:55:54 Web sshd[805]: Server listening on :: port 22.

last -xпоказывает эти строки, обратите внимание, что они печатаются в самых -последних -первых порядке (т.е. сначала читайте последнюю строку, а затем поднимайтесь ), но из-за сброса часов (23 :56 перед загрузкой, 23 :55 после )также видно в предыдущих строках, порядок кажется немного сбивающим с толку:

runlevel (to lvl 2)   3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
reboot   system boot  3.13.0-129-gener Sun Sep  3 23:55 - 22:04  (22:08)    
shutdown system down  3.13.0-123-gener Sun Sep  3 23:56 - 23:55  (00:00)    
runlevel (to lvl 0)   3.13.0-123-gener Sun Sep  3 23:56 - 23:56  (00:00)

Со своей стороны, проверяя правильность завершения работы гостей при загрузке хоста, я также мог бы просто войти в (ssh )одного из гостей и остаться там, когда я загружаю хост, получая эти строки в терминал:

root@Web:~#
Broadcast message from root@Web
        (unknown) at 22:25...

The system is going down for power off NOW!
Connection to web closed by remote host.
Connection to web closed.
2
31.12.2019, 16:10
2 ответа

Вам не нужно редактировать файл /etc/passwdнапрямую, хотя вы можете это сделать, если хотите.

passwd --lock pi    # Lock the "pi" user account

Дополнительные параметры, включая способ разблокировки заблокированной учетной записи, можно просмотреть с помощью man passwd. Разумеется,эта команда должна выполняться с привилегиями root.


Теперь, когда я вижу, что вы отредактировали свой вопрос, чтобы объяснить, что вы хотите отключить аутентификацию на основе пароля -для ssh, это можно принудительно применить, просто отредактировав/etc/ssh/sshd_config:

PasswordAuthentication no

Не забудьте перезапустить службу,systemctl restart sshd

8
27.01.2020, 21:51

Хотя @roaima верен, команда passwdили конфигурация sshd _, вероятно, то, что вам нужно, я хочу указать на несколько альтернатив:

1 )Добавить восклицательный знак в начало пароля (, что на самом деле и делает passwd -l, см. справочную страницу ). Обратите внимание, что фактический хэш пароля находится в /etc/shadow, а не в /etc/passwd.

2 )Отключить ("pre -expire" )учетную запись сusermod --expiredate 1(или любой другой день в прошлом, также со страницы руководства passwd)

3 )Измените оболочку на "/usr/sbin/nologin" с помощью chsh -s /usr/sbin/nologinили редактирования /etc/passwd. Это используется многими дочерними проектами Debian для идентификации учетной записи системы/службы, чтобы блокировать атаки внедрения против специализированных учетных записей (apache, mail, sshd и т. д. ).

0
27.01.2020, 21:51

Теги

Похожие вопросы