Как заставить пользователя сменить пароль при первом входе в систему с помощью ssh?


28

Я пытаюсь заставить вновь созданного пользователя изменить пароль при первом входе в систему с помощью ssh. Из соображений безопасности я хочу дать ему безопасный пароль, пока он не войдет в первый раз. До сих пор я сделал следующее:

useradd -s /bin/bash -m -d /home/foo foo
passwd foo

Это chage -d 0 fooтолько дает мне ошибку Your account has expired; please contact your system administratorпри входе в систему через ssh.

Ответы:


40

изменить возраст пароля на 0 дней

синтаксис chage -d 0 {user-name}

В этом случае

chage -d0 foo

Это работает для меня через SSH также


14

В зависимости от версии passwd вы можете попробовать

  • passwd -f: Принуждает пользователя сменить пароль при следующем входе в систему, срок действия пароля для имени.

  • passwd -eили passwd --expire: немедленно истечь пароль учетной записи. Это может заставить пользователя изменить свой пароль при следующем входе в систему.


passwd -e меняет оболочку входа в систему.
Шили

2
passwd -eу меня работает (Linux Mint 17.3)
Joril

passwd -eработает в RHEL 7.0
Crypteya

@schily Параметры для passwdварьируются в зависимости от распределения. На RHEL вызывает -eизменение пароля при следующем входе в систему.
jrw32982 поддерживает Монику

@ jrw32982 К сожалению, люди из Linux создают опции для программ, которые конфликтуют с давно существующими из UNIX. Опция -f для истечения срока действия пароля уже более 30 лет и предшествует Linux на много лет. Даже опция -e для изменения оболочки входа в систему предшествует полной версии Linux.
Шили
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.