Какой хорошо поддерживаемый драйвер сенсорного экрана следует эмулировать?

В этом вопросе изначально упоминалось passwd --delete , что небезопасно :, при этом поле зашифрованного пароля в /etc/shadowбудет полностью пустым.

username::...

Если вы настроили свой sshdна отказ от аутентификации по паролю, то это безопасно с SSH... Но если любая другая служба в вашей системе использует аутентификацию по паролю и не настроена на отклонение нулевых паролей, этот разрешает доступ без пароля! Вы не хотите этого.


adduser --disabled-passwdсоздаст запись /etc/shadow, где поле зашифрованного пароля представляет собой просто звездочку, т.е.

username:*:...

Это «зашифрованный пароль, который невозможно успешно ввести», т. е. это означает, что учетная запись действительна и технически разрешает вход в систему, но делает аутентификацию по паролю невозможной . Поэтому, если на вашем сервере есть какие-либо другие службы, основанные на пароле -аутентификации -, этот пользователь заблокирован от них.

Только методы аутентификации, в которых используется пароль, отличный от стандартного пароля учетной записи (, например. ключи SSH )будут работать для этого пользователя, для любой службы, которая использует системные файлы паролей в этой системе. Когда вам нужен пользователь, который может войти в систему только с ключами SSH, это то, что вам нужно.

Если вам нужно установить существующую учетную запись в это состояние, вы можете использовать эту команду:

echo 'username:*' | chpasswd -e

Существует третье специальное значение для поля зашифрованного пароля :adduser --disabled-login, тогда поле будет содержать только один восклицательный знак.

username:!:...

Подобно звездочке, это делает невозможным успешную аутентификацию по паролю, но также имеет дополнительное значение :: он помечает пароль как «заблокированный» для некоторых инструментов администрирования. passwd -lимеет почти такой же эффект, добавляя к существующему хэшу пароля восклицательный знак, что снова делает невозможным использование аутентификации по паролю.

Но вот ловушка для неосторожных:в 2008 году,версия команды passwd, взятая из старого пакета shadow, была изменена на -определение passwd -lс «блокировки учетной записи» на «блокировку пароля». Заявленная причина - "для совместимости с другой версией passwd".

Если вы (как и я )узнали об этом давным-давно, это может стать неприятным сюрпризом. Не помогает делу и то, что adduser(8)тоже, по-видимому, еще не осознает этого различия.

Часть, которая отключает учетную запись для всех методов аутентификации, фактически устанавливает значение даты истечения срока действия 1 для учетной записи :usermod --expiredate 1 . До 2008 года passwd -l, происходящий из исходного набора shadow, использовался для этого в дополнение к с префиксом пароля с восклицательным знаком -, но больше не делает этого.

Журнал изменений пакетов Debian говорит:

  • debian/patches/494_passwd_lock-no_account_lock: Restore the previous behavior of passwd -l (which changed in #389183): only lock the user's password, not the user's account. Also explicitly document the differences. This restores a behavior common with the previous versions of passwd and with other implementations. Closes: #492307

Истории ошибок для ошибки Debian 492307 и ошибки 389183 могут быть полезны для понимания того, что стоит за этим.

1
09.06.2021, 13:56
0 ответов

Теги

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