Что значит * и! во втором поле / etc / shadow?

20

Насколько я знаю, 2-е поле / etc / shadow - это зашифрованный пароль пользователя. Но некоторые пользователи, например, daemonuser имеют *в поле, в моей среде (Ubuntu 12.04) rootимеют !в поле.

Я предполагаю, что !означает, что «все пароль недействителен, вы не можете войти с этим пользователем». Но я не смог найти документ для этого.

Что значит *и !в теневом файле?

Ironsand
источник

Ответы:

23

'!' и '!!' означают, по сути, одно и то же, но разные инструменты используют один или другой, passwd -lнапример, используют пару восклицательных знаков. usermod -Lс другой стороны, использует только один.

Обычно учетные записи с символом «*» никогда не имели пароля (например, всегда были отключены для входа в систему). Это отличается от учетной записи, в которой вообще нет ввода пароля, в этом случае пароль не требуется (и часто даже не запрашивается), что почти всегда ПЛОХО !.

Если это недопустимый хеш (все «*», «!» И «!!»), он эффективно блокирует учетную запись и предотвращает вход в нее. Зачастую этому способствует установка в оболочке учетной записи чего-то вроде / bin / false или / sbin / nologin в файле / etc / passwd

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

Sirex
источник
Спасибо за ваше подробное объяснение. Это очень полезно!
Айронсанд
2
нет проблем. Одна вещь, которую я забыл упомянуть (но подразумевал), это быть осторожным с блокировкой учетной записи с помощью passwd и попыткой разблокировать ее с помощью usermod. Он удалит только первое «!», Которое не будет работать.
Sirex
2
Ответ не на 100% правильный. Исходя из моего опыта, если у вас есть звездочка *в этом столбце, вы все равно можете прекрасно входить в систему, используя аутентификацию с открытым ключом. Принимая во внимание, что !действительно блокирует все логины для этого пользователя.
Михаэль Хертл
2
это зависит от настройки «usepam» в конфигурационном файле sshd. arlimus.github.io/articles/usepam
Sirex