システムユーザーのホームディレクトリ

システムユーザーのホームディレクトリ

特定の作業ディレクトリなしでシステムユーザーのホームディレクトリを設定するための最良の方法は何ですか?

特定のバイナリまたはスクリプトを実行するには、ユーザーを作成する必要があることがよくあります。私のバイナリが/ usr / binにあり、私のユーザーがバイナリを実行するために私のinitスクリプトでのみ使用されていると仮定すると、次のように単純に実行できます。

useradd --no-create-home

それとも/var、/tmp、または他のディレクトリにディレクトリを指定する方が安全ですか?

答え1

同様のものを作成して、すべてのシステムユーザーに使用したり、ホームディレクトリに似たもの/var/emptyを指定したりできます。/dev/null私は1つのバイナリ(通常サービス)のみを実行しているシステムユーザーに後者を使用します。プログラムが何かを保存しようとすると、プログラム名の場所を/srv/app指定しappてそのディレクトリを作成します。

このようなプログラムでuseraddホームディレクトリを指定する必要がある場合は、/var/emptyディレクトリをroot:root 0755として指定して作成します。そうでない場合は、ファイルでもディレクトリでも無効ですが、明らかに存在するものを指定してください。また、/bin/false簡単に上書きできますが、aをログインシェルとして指定することをお勧めします。

または、/PWDポイントがどこにあるかにかかわらず、何かを作成したくない場合は、in/と同様に正常です/var/empty

関連情報