Аккаунты без пароля -Можно ли использовать их для входа в систему?

Если вы рассматриваете свой файл как с разделителями , вы можете сопоставлять и выводить любые строки, второе поле которых состоит не более чем из пробелов:

awk -F= '$2 ~ /^[ \t]*$/' file
0
25.02.2021, 21:14
2 ответа

man adduserпоказывает опцию --disabled-password.

Или используйте традиционный useradd, который вообще не запрашивает пароль.

0
18.03.2021, 22:28

Если вы имеете в виду «системных пользователей», пользователей для какой-либо конкретной службы, например sshd, postfixили www-data(, просто чтобы выбрать ), для них обычно устанавливается пароль, например, *в /etc/shadow. Он не пуст, но также не является допустимым хэшем пароля, поэтому его нельзя использовать для аутентификации.

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

Если бы поле пароля было на самом деле пустым, все было бы по-другому, так как пустое поле означает, что пароль не требуется. (Конечно, пустая строка также не является допустимым хэшем, а является особым случаем. )Однако, по крайней мере, sshd в любом случае запрещает вход с пустым паролем (по умолчанию, это настраивается с помощьюPermitEmptyPasswords).

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

Тень справочной страницы Linux (5)описывает это поведение.

2
18.03.2021, 22:28

Теги

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