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記号の後に「:」ヒントがある場合は、ログイングループに変わります。

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

答え2

useradd -m -d /home/thenewuser -s /bin/bash -c "the new user" -U thenewuser

-c「メッセージ」:ユーザーに関する追加情報。

-U新規ユーザー:ユーザーと同じ名前でグループを作成し、そのグループにユーザーを追加します。

-N:-Nパラメーターは、ユーザー名でグループを作成しないようにシステムに指示します。

-m、--ホームページの作成同じ:ユーザーのホームディレクトリがない場合は作成します。

-d, --home HOME_DIR:HOME_DIR をユーザーのログインディレクトリ値として使用して新しいユーザーを作成します。
もし-Dデフォルトのホームディレクトリを使用しないと、/home/thenewuserになります。

-m -d /データ/新規ユーザー:これ-中パラメーターは、-dパラメーターで指定された/ data / thenewuserホームディレクトリを作成します。

-中:-Mパラメーターは、システムにホームディレクトリを作成しないように指示します。

-s /bin/bash:これ-Sユーザーのデフォルトシェル(この場合は/ bin / bash)を指定するために使用されます。

-s または --shellそれは同じです。

-s /sbin/nologin:これ/sbin/nologinFedoraと/usr/sbin/nologinDebian の場合、「このアカウントは使用できません」などの丁寧なメッセージを返し、システムにログインすることを許可しない 2 つのシェルがあります。メッセージをカスタマイズできます。

-s /bin/false: ユーザーログインを拒否するために使用される古いシェルです。 /bin/false は false があるとすぐに終了します。デフォルトのシェルが/ bin / falseまたは/ bin / trueのユーザーアカウントはロックされています。

-s /sbin/nologinunix-linux に属し、/bin/false は GNU Coreutils の一部です。これらのシェルが機能するには、/ etc / shellsファイルにリストされている必要があります。

/sbin/nologin(または/usr/sbin/nologin)を使用しているユーザーはsshまたはftpを介して接続できますが、/bin/falseを使用しているユーザーはシステム上で完全にロックされます。

そしてユーザーを追加 -D:次のコマンドを使用して、作成したい新しいユーザーに設定されたデフォルトパラメータを表示することもできます。

# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
#

他の選択肢を確認してください。http://www.golinuxhub.com/2014/04/10-practical-examples-to-use-useradd.html

-アル字型: -r パラメーターは、システム・ユーザーを作成するために使用されます。

ユーザー確認

はい

# finger mysql
  Login: mysql                      Name: 
  Directory: /home/mysql            Shell: /bin/bash
  Never logged in.
  No mail.
  No Plan.
# 

CentOS 6にはこのコマンドはありませんが、簡単にインストールできます。

ヤム設置指

other ` http://www.tecmint.com/add-users-in-linux/

答え3

useradd -m -c "Tomcat User" -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
tar -xvf apache-tomcat-9.0.53.tar.gz -C /opt/tomcat --strip-components=1
chown -R tomcat: /opt/tomcat
sh -c 'chmod +x /opt/tomcat/bin/*.sh' 

関連情報