Ubuntu 18.04サーバーに「test」という名前のユーザーを追加しています。 adduser
を使用してユーザーを追加すると、次のようになります。
Sudo adduser --system --group test --Shell /bin/bash
すべてうまくいき、私はうまくログインできますが、.bashrc、.bash_logout、および.bash_profileはデフォルトではホームディレクトリに作成されません。一方、次のようにuseradd
を使用してユーザーを追加した場合:
Sudo useradd -m test -s /bin/bash
ユーザーはadduser
と同じ方法で追加され、ホームディレクトリに.bash_profile、.bashrc、および.bash_logoutが事前構成されています。
誰かがなぜ違いがあるのか説明できますか? adduser
使用法にフラグがありませんか?
adduser
のこの動作は、オプション--system
によるものです。このオプションを使用すると、UIDが1000未満のシステムユーザーを作成できます。 man adduser
から:
1つの非オプション引数と
--system
オプションで呼び出された場合、adduser
はシステムユーザーを追加します...ホームディレクトリは通常のユーザーと同じルールで作成されます。新しいシステムユーザーには、シェル/bin/false
があり(--Shell
オプションでオーバーライドされない限り)、ログインが無効になります。 骨格構成ファイルはコピーされません。
骨格構成ファイルは、/etc/skel
にあるこれらのファイルで、新しい通常のユーザーがシステムに追加されたときにユーザーのホームディレクトリにコピーされます。
通常のユーザーを追加する場合、デフォルトでは、adduser
にオプションを追加する必要があります。使用するのは次のとおりです。
Sudo adduser username
一方、adduser
で完全修飾された通常のユーザーを作成する場合は、ユーザーのホームディレクトリを作成して-m
のコンテンツをコピーする/etc/skel
など、いくつかの追加オプションを追加する必要があります。