パスワードを無効にしたユーザーを一括で追加するには?

パスワードを無効にしたユーザーを一括で追加するには?

行為:

# newusers
username::1002:1002::/home/username:/bin/bash
^D
No password supplied
No password supplied
No password supplied
newusers: (user username) pam_chauthtok() failed, error:
Authentication token manipulation error
newusers: (line 1, user username) password not changed

パスワードなしでユーザーを追加します(のハッシュ「!」を使用/etc/shadow)。

行為:

# newusers
username:*:1002:1002::/home/username:/bin/bash
^D

パスワードが「*」のユーザーを追加します(一部のハッシュを含む/etc/shadow)。

ただし、必要なのは、.txtファイルにハッシュ "*"を持つ "username"ユーザーを追加することです/etc/shadow

どうすればいいですか?

答え1

パスワードフィールドを空白にしてください。 newusers「提供されたパスワードなし」について繰り返し文句を言い、パスワードを変更することはできませんが、!ユーザーはシャドウパスワードフィールドに無効なパスワードで生成されます。

username::1002:1002::/home/username:/bin/bash

変える:

username:*:1002:1002::/home/username:/bin/bash

たとえば、

# echo "username::10000:10000::/home/username:/bin/bash" | newusers 
No password supplied
No password supplied
No password supplied
newusers: (user username) pam_chauthtok() failed, error:
Authentication token manipulation error
newusers: (line 1, user username) password not changed

# tail -1 /etc/passwd
username:x:10000:10000::/home/username:/bin/bash

# tail -1 /etc/shadow
username:!:16713:0:99999:7:::

答え2

ユーザー配置を追加したら、次のコマンドを使用して各ユーザーのロックを解除できます。

usermod -p <username> '*'

答え3

「*」または「!」をパスワードで送信すると、すべてのユーザーがその特定のパスワードを設定できるようになります。 @casが言及したことは、/etc/shadowパスワード自体の内容ではなくパスワードの内容を考慮するときに有効です。パスワードはデフォルトでnewusers暗号化されているため、この方法は機能しません。

パスワードを強制的に無効にする方法は、暗号化を強制しないことです。

echo 'username:*:16713:0:99999:7:::' > users

その後、暗号化を無効にします。

newusers -c NONE users

これを確認する最善の方法は、生成された項目を調べることです/etc/shadow

tail /etc/shadow

関連情報