このadduser
コマンドを使用して、シェルスクリプトを介して(パスワードが無効な)ユーザーを追加したいと思います。
デフォルトでadduser
は、さまざまな値(例:フルネーム)の入力を求められます。コマンドライン経由でこれらの値を送信する方法はありますか?または、useradd
代わりにする必要がありますか?
このadduser
コマンドを使用して、シェルスクリプトを介して(パスワードが無効な)ユーザーを追加したいと思います。
デフォルトでadduser
は、さまざまな値(例:フルネーム)の入力を求められます。コマンドライン経由でこれらの値を送信する方法はありますか?または、useradd
代わりにする必要がありますか?
回答:
--gecos
オプションを使用して、chfn
インタラクティブ部分をスキップします。
adduser --disabled-password --gecos "" username
すべてmanページにあります。最も明白な処方トーではありません。
--gecos GECOS
Set the gecos field for the new entry generated. adduser will
not ask for finger information if this option is given.
GECOSフィールドは、カンマ区切りのリストFull name,Room number,Work phone,Home phone
です。そのマニュアルページに詳細が記載されているにもかかわらずfinger information
-Wikipedia
これがお役に立てば幸いです。
useradd
ユーザーを追加することもでき、どのような形式のプロンプトも組み込まれていないようです。
useradd -m -p <encryptedPassword> -s /bin/bash <user>
-m
、--create-home
:ユーザーのホームディレクトリを作成します-p
、--password
:ユーザーパスワードを指定します。スキップして無効にします-s
、--shell
:ログオンユーザーのデフォルトシェル
空白の場合、SHELL
変数で指定されたデフォルトのログインシェルが使用されます/etc/default/useradd
<user>
ログイン名と<encryptedPassword>
て暗号化されたパスワードあり、多くのハッシュされたパスワードを生成することができcrypt3実装のでは。全体がハッシュ化されたパスワードです。
結果の出力形式:ハッシュメカニズム($6
sha-512の場合)、ランダムソルト(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"))'
adduser
は異なり、useradd
わかりにくい。
-v
か、-vv
または-vvv
あなたのsshにいただきました!間違って参照し、SOまたはGoogleでここにあなたのエラーメッセージを検索するためのコマンド。
sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config
そしてsudo service ssh restart
adduser
、私の(最近の)バージョンのUbuntuには存在しません。