私は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はコマンドラインに表示されます。上記のコマンドで非表示にする方法は?
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
使用する各オプションの後に引数を追加してみてください。例えば:
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には、より複雑なパスワードが必要なパスワードの複雑さの要件が設定されている場合があります。