web-dev-qa-db-ja.com

ユーザーパスワードを変更するusermodが機能しない

以下のコマンドを使用してユーザーを作成しました

useradd myuser

次に、次のコマンドでパスワードを変更してみました

usermod --password mypwd myuser

(私はプレーンなパスワードは良い方法ではないことを知っていますが、とりあえずこれをやっています)

myusermypwdにログインしようとしました。ただし、ログインは許可されていません(パスワードが正しくありません)。

passwd myuserを使用できます(正常に動作します)。いくつかの制約があるため、usermodを使用しています。

usermodに欠けているものはありますか?またはpasswd username以外にパスワードを変更する方法はありますか?

4
Spike

_usermod --password_ に指定されたパラメーターは、 crypt() 関数によって返されるように、暗号化されたパスワードであることが期待されます。 _/etc/shadow_(ローカルパスワードストレージを使用していると想定)を見ると、指定した文字列がmyuserのエントリにそのまま保存されていることがわかります...

本当にusermodを使用したい場合は、_openssl passwd_を使用して適切な値を生成できます。

_usermod --password $(openssl passwd mypwd) myuser
_

それ以上に

_usermod --password $(openssl passwd -1 mypwd) myuser
_
9
Stephen Kitt