web-dev-qa-db-ja.com

.bashrcおよび.bash_profileは、adduserでは作成されず、useraddで作成されます

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使用法にフラグがありませんか?

1
Adithya

adduserのこの動作は、オプション--systemによるものです。このオプションを使用すると、UIDが1000未満のシステムユーザーを作成できます。 man adduser から:

1つの非オプション引数と--systemオプションで呼び出された場合、adduserはシステムユーザーを追加します...ホームディレクトリは通常のユーザーと同じルールで作成されます。新しいシステムユーザーには、シェル/bin/falseがあり(--Shellオプションでオーバーライドされない限り)、ログインが無効になります。 骨格構成ファイルはコピーされません。

骨格構成ファイルは、/etc/skelにあるこれらのファイルで、新しい通常のユーザーがシステムに追加されたときにユーザーのホームディレクトリにコピーされます。

通常のユーザーを追加する場合、デフォルトでは、adduserにオプションを追加する必要があります。使用するのは次のとおりです。

Sudo adduser username

一方、adduserで完全修飾された通常のユーザーを作成する場合は、ユーザーのホームディレクトリを作成して-mのコンテンツをコピーする/etc/skelなど、いくつかの追加オプションを追加する必要があります。

1
pa4080