web-dev-qa-db-ja.com

Linux:nologinユーザーのホームディレクトリを作成する必要がありますか?

サーバーでいくつかのJavaアプリを実行していて、各アプリがnologinユーザーIDで実行されるように設定しています。

今、私がユーザーを追加すると

/usr/sbin/useradd -g $MY_GROUP -s /sbin/nologin -d /home/$MY_USER $MY_USER

それらのユーザーが家を必要としているかどうか、そして必要かどうかについての慣習があるかどうか疑問に思いました-私はそれらを

/home/abc 

またはに

/usr/local/abc

私はそれが両方の方法で行われるのを見てきました

4
webwesen

RedHatのようなシステムでは、「-r」オプションを使用してシステムアカウントとしてユーザーを作成できます。

   -r This flag is used to create a system account. That is, a user with a UID lower than the value of UID_MIN defined in
      /etc/login.defs and whose password does not expire. Note that useradd will not create a home directory for such an user,
      regardless of the default setting in /etc/login.defs. You have to specify -m option if you want a home directory for a system
      account to be created. This is an option added by Red Hat

このオプションがディストリビューションで利用可能かどうかによっては、これが必要な場合があります。

3
Scott Pack

システム管理者として、実際のホームディレクトリを作成するやむを得ない理由がない限り、すべてのスタブアカウントで/をホームディレクトリとして使用することをお勧めします。

ホームディレクトリには、認証情報を保存できます。たとえば、.ssh/authorized_keysファイルは、意図せずまたは悪意を持ってシステムにユーザーを侵入させるためのベクトルとして機能する可能性があります。

そうでなければ、ホームディレクトリは、別のUIDを訴えることを計画していて、そのユーザーとして何かをするときにローカル構成を持つことを計画している場合に役立つことがあります(これはOracleのセットアップで見ました)。私はそのようなことに熱心ではありません-私は私のためにローカル環境をセットアップする私が調達するスクリプトを持っていることを好みますが、異なるストローク...

2
chris