web-dev-qa-db-ja.com

パスワードはuseradd -pでは機能しません

私はubuntu 14.04 LTSを実行しています。次のコマンドを実行してユーザーを作成しました

$Sudo useradd -m -p password1 guest_user

そして、ユーザーに切り替えようとしました

$su guest_user

しかし、私はpassword1でログインできませんでした

何か不足していますか? useraddのmanページで-pオプションが示すように、password1または他の何かでログインすると仮定します

 -p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the password.

           Note: This option is not recommended because the password (or encrypted password) will be
           visible by users listing the processes.

           You should make sure the password respects the system's password policy.

私はコマンドを入力すると

useradd -m -p password1

パスワードpassword1はコマンドラインに表示されます。上記のコマンドで非表示にする方法は?

6
user2065276

man useraddから:

-p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the password.

PASSWORD with -pオプションを見るとわかるように、crypt(3)ライブラリ関数によって返される暗号化されたパスワードです。

-p password1を使用すると、システムはこのプレーンテキストpassword1/etc/shadowの暗号化されたシャドウパスワードエントリと見なします。

解決策は、ここで暗号化されたパスワードを-pで使用することです。これはnsafeです。パスワードを対話的に設定する必要があります。

たとえば、最初にsuerを作成します。

Sudo useradd -m -s /bin/bash guest_user

パスワードを設定します:

Sudo passwd guest_user

または、代わりにadduserを使用することをお勧めします。

Sudo adduser --gecos '' guest_user
6
heemayl

使用する各オプションの後に引数を追加してみてください。例えば:

    useradd -m guest_user -p passwd1

Useraddのマニュアルページに示されているように、この方法でパスワードを追加することはプレーンテキストで送信されるため、安全とは見なされません。別の方法として、以下を試してください:

    Sudo useradd -m guest_user

その後:

    Sudo passwd guest_user

2つの注意事項:

  • nAME_REGEX = in:/etc/adduser.confで始まる行は、ユーザー名にアンダースコア「_」文字を使用できない場合があります。

  • /etc/pam.d/common-passwordには、より複雑なパスワードが必要なパスワードの複雑さの要件が設定されている場合があります。

2
marshki