web-dev-qa-db-ja.com

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 hiddenを使用するのが最善だと思いますが、

chown-ファイルの所有者とグループを変更する

-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.

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

EDIT 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.
# 

UserL5CUIDとGIDが500未満

# 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.
#

UserG5C500を超えるUIDおよびGID

# 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
# 

違いUserG5CはhomeDirectoryを作成します

質問

useradd UserG5C -M -s/bin/falseこのユーザー/アカウントにはシステム権限がないため、次のように使用する方がよいでしょう。

3
QA_Col

人の数と同じくらい多くの意見があります。 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. そのユーザーのホームディレクトリが必要ですか(BTW、Tomcatはおそらくそれを必要としています)?

OK、500未満のUIDとホームディレクトリ(現在は存在しない)は必要ありません。次のコマンドを実行してみましょう。

# 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未満の場合、それは通常のユーザー(おそらくシェルのアクセス権を持つ人間)ではなく、特定のサービスのユーザーであることを意味します。これらのユーザーはオペレーティングシステムによって特別に扱われていないため、この脆弱性による影響はありません。また、拡張機能は提供されません。 500未満のUIDを使用するのがよくない理由は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

この場合、キー-d /および-Mを指定したuseraddコマンドを使用します。

一方、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に続く「:」で示される場合は、ログイングループに変更されます。

OWNER/GROUPセパレーターとしての.の使用は廃止されました。 :を使用します。

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

-c "message":ユーザーに関する追加情報。

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

-N:-N引数は、ユーザーの名前を持つグループを作成しないようにシステムに指示します

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

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

-m -d/data/thenewuser-m引数は、-dで指定された/ data/thenewuserホームディレクトリを作成します引数。

-M:-M引数は、ホームディレクトリを作成しないようにシステムに指示します

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

-sまたは--Shellは同じです。

-s/sbin/nologin:Fedoraの/ sbin/nologinおよび/ usr/sbin Debianの/ nologinは2つのシェルであり、「このアカウントは利用できません」などの丁寧なメッセージを返し、システムへのログインを許可しません。このメッセージはカスタマイズできます。

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

-s/sbin/nologinはunix-linuxに属しますが、GNU Coreutilsの/ bin/falseの部分です。これらのシェルは/ etc/shellsファイル。

/ sbin/nologin(または/ usr/sbin/nologin)を持つユーザーはsshまたはftp経由で接続できますが、/ bin/falseを持つユーザーはシステムから完全にロックアウトされます。

withuseradd -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:-r引数はシステムユーザーを作成するためのものです

ユーザーを確認

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

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

yum install finger

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

1
joseluisbz