Tomcat RHEL / CentOS用のグループとユーザーの作成

Tomcat RHEL / CentOS用のグループとユーザーの作成

Tomcatをインストールするためのユーザーを作成したいのですが、いくつかのオプションを見ました。

# groupadd tomcat
#
# useradd -g tomcat -d /usr/local/tomcat tomcat
# useradd -g tomcat -c "Tomcat User" -d /usr/local/tomcat tomcat

他の選択肢:

https://panovski.me/install-tomcat-8-on-centos-7/

# useradd -r -s /sbin/nologin tomcat
# chown -R tomcat: /usr/local/tomcat

別のページから(隠されて再帰的に)

# useradd -r tomcat --shell /bin/false
# chown -hR tomcat: /usr/local/tomcat

その他のオプション:?

# useradd -g tomcat -s /bin/bash -d /usr/local/tomcat tomcat
# chown -Rf tomcat.tomcat /usr/local/tomcat

エラーや結果が何であるかわかりません。最良の選択が何であるかを知りたいです。

隠すには-hを使うのが良いと思いますが、

ジョン- ファイル所有者とグループの変更

-r, --system
  Create a system account.

  System users will be created with no aging information in /etc/shadow, and their 
  numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in
  /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the
  creation of groups).

  Note that useradd will not create a home directory for such an user, regardless
  of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the
  -m options if you want a home directory for a system account to be created.

-s, --shell SHELL
  The name of the user's login shell. The default is to leave this field blank,
  which causes the system to select the default login shell specified by the SHELL
  variable in /etc/default/useradd, or an empty string by default.

CentOSで-sまたは-rオプションを使用する必要がありますか?

編集2

# useradd -r UserL5C --shell /bin/false
# more /etc/passwd | grep UserL5C
UserL5C:x:494:491::/home/UserL5C:/bin/false
# more /etc/group | grep UserL5C
UserL5C:x:491:
# finger UserL5C
Login: UserL5C                  Name: 
Directory: /home/UserL5C                Shell: /bin/false
Never logged in.
No mail.
No Plan.
# 

ユーザーL5C500未満のUIDとGID

# useradd UserG5C --shell /bin/false
# more /etc/passwd | grep UserG5C
UserG5C:x:503:504::/home/UserG5C:/bin/false
# more /etc/group | grep UserG5C
UserG5C:x:504:
# finger UserG5C
Login: UserG5C                  Name: 
Directory: /home/UserG5C                Shell: /bin/false
Never logged in.
No mail.
No Plan.
#

ユーザーG5CUIDとGIDが500より大きい

# ls -al /home/
total 32
drwxr-xr-x.  5 root       root        4096 Jun 25 06:05 .
dr-xr-xr-x. 25 root       root        4096 Jun 25 05:19 ..
drwx------. 33 IntUser    IntUser     4096 Jun 25 05:46 IntUser
drwx------.  2 root       root       16384 Jun 13 09:56 lost+found
drwx------.  4 UserG5C    UserG5C     4096 Jun 25 06:01 UserG5C
# 

違いユーザーG5Cホームディレクトリの作成

質問

使用するのが最善です。 useradd UserG5C -M -s /bin/falseこのユーザー/アカウントにはシステム権限がないため?

ベストアンサー1

人数ほどコメントも多いです。 Tomcatユーザーを作成する最良の方法は次のとおりです。

# useradd -r -s /sbin/nologin tomcat
# chown -R tomcat: /usr/local/tomcat

これはシステムアカウントを作成することを意味します。情報源man useradd:

System users will be created with no aging information in /etc/shadow,
and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX
range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their
GID counterparts for the creation of groups).

また、useradd -r ...ユーザーと同じ名前でグループを作成するため、自分で作成する必要はありません。

ただし、ユーザー設定で何かを変更する場合(ホームディレクトリの指定やシェルの変更など)、いつでもusermodコマンドを使用して変更できます。

読んでman useraddman usermod

編集する

実際、いくつかの質問に答えなければなりません。

  1. システムユーザー(UID < 500)が必要ですか?
  2. シェルが必要ですか、またはシェルアクセス()を無効にしますか/sbin/nologin, /bin/false
  3. ユーザーのホームディレクトリが必要ですか(しかし、Tomcatはおそらくそれを望むでしょう)?

いいですね。 UID < 500を必要とせずにホームディレクトリ(現在は存在しません)が必要です。次のコマンドを実行してみましょう。

# useradd -U -d /usr/local/tomcat -m -s /bin/false tomcat

オプションを選択すると、-U同じ名前のグループが作成されます。ユーザーの説明を追加するにはを使用します-c "Tomcat user"

Tomcatディレクトリがすでに存在する場合:

# useradd -U -d /usr/local/tomcat -M -s /bin/false tomcat

その後、Tomcatディレクトリの所有者を変更する必要があります(Tomcatユーザーがそれを使用できるようにする)。

# chown -R tomcat: /usr/local/tomcat

編集2

あなたが尋ね、私たちは答えた。

  1. ユーザーのUIDが500未満の場合、これは通常のユーザー(おそらくシェルアクセス権を持つ人)ではなく、一部のサービスのユーザーであることを意味します。これらのユーザーはオペレーティングシステムで特に扱われないため、脆弱性は発生しません。そして拡張機能を提供しません。 UID < 500を使用するのが悪い理由は1つだけです。後でいくつかのRPMパッケージをインストールすると、ユーザーに同じUIDが提供されます。この場合、いくつかの問題が発生します。それだけです!ちなみに、RPMからtomcatをインストールすると、ユーザーtomcatにUID = 91とGID = 91のグループが提供されます(少なくとも私のFedoraでは)。
$ id tomcat
uid=91(tomcat) gid=91(tomcat) groups=91(tomcat)
  1. いいですね。/bin/falseまたはを使用してください/sbin/nologin

  2. /一部のソフトウェアパッケージと同様に、サービスのホームディレクトリを指定できます。たとえば、RPMにtcpdumpをインストールした場合は、次の文字列があります/etc/passwd

tcpdump:x:72:72::/:/sbin/nologin

この場合、useraddキーと一緒にコマンドを使用してください。-d /-M

一方、RPMからインストールされたTomcatのホームディレクトリは次のとおりです。

tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat:/bin/nologin

今言葉を減らしてくださいchown

次のコマンドは同じことを行います。

chown tomcat:tomcat /usr/local/tomcat
chown tomcat: /usr/local/tomcat

引用元man chown:

欠落している場合、グループは変更されませんが、OWNER記号の後に「:」ヒントがある場合は、ログイングループに変わります。

.所有者/グループ区切り文字として使用することは現在廃止されました。使用:

おすすめ記事