adduser
コマンドを使用して、シェルスクリプト経由で(無効なパスワードを持つ)ユーザーを追加したいと思います。
デフォルトでは、adduser
はさまざまな値(例:氏名)の入力を求めます。コマンドライン経由でこれらの値を送信する方法はありますか?または、代わりにuseradd
する必要がありますか?
useradd
はユーザーを追加することもでき、どのような形式のプロンプトも組み込まれていないように見えます。
useradd -m -p <encryptedPassword> -s /bin/bash <user>
-m
、--create-home
:ユーザーのホームディレクトリを作成-p
、--password
:ユーザーのパスワードを指定します。 スキップして無効にします-s
、--Shell
:ログオンユーザーのデフォルトシェル
空白の場合、/etc/default/useradd
のShell
変数で指定されたデフォルトのログインシェルが使用されます
<user>
をログイン名に置き換えます<encryptedPassword>
をencryptedパスワードに置き換えますハッシュ化されたパスワードを生成できるcrypt3実装の 多く があります。全体がハッシュ化されたパスワードです。
結果の出力形式:ハッシュメカニズム(sha-512では$6
)、ランダムソルト(2番目のドル記号の後の8バイト$ASDF1234
)、残りはペイロードです。
mkpasswd mkpasswd -m sha-512
(mkpasswd
はwhois
パッケージで提供されます)
結果の出力形式:最初の2バイトはソルト、残りはペイロードです。全体がハッシュ化されたパスワードです。
mkpasswd
(whois
パッケージで提供)openssl passwd -crypt
Perl -e "print crypt('password');"
python3 -c 'import crypt; print(crypt.crypt("password"))'