Как заставить пользователя сменить пароль при первом входе в систему с помощью 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.

JohnnyFromBF
источник

Ответы:

40

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

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

В этом случае

chage -d0 foo

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

Зверь безопасности
источник
14

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

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

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

kawu
источник
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.
Шили