Создание группы и пользователя для 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 скрытый, но

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. 

В CentOS необходимо использовать опции -s или -r?

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

UserL5C с UID и 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. # 

UserG5C UID и 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 # 

Разница UserG5C создает homeDirectory

Вопрос

Было бы лучше использовать: useradd UserG5C -M -s / bin / false, потому что у этого пользователя / учетной записи нет системных привилегий?

  • Анализ файлов CSV для добавления пользователей
  • Создание пользовательского пользователя во FreeBSD
  • Как добавить 100 пользователей из файла
  • Как автоматически создать пустой каталог при создании нового пользователя?
  • Добавить пользователя и установить пароль с помощью Ansible
  • usermod изменить пароль пользователя не работает
  • Как я могу назначить начальный / стандартный пароль для пользователя в Linux?
  • useradd не работает
  • 2 Solutions collect form web for “Создание группы и пользователя для Tomcat RHEL / CentOS”

    Есть так много мнений, что есть люди. Я думаю, что лучший способ создать пользователя 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 ... создает группу с тем же именем, что и пользователь, и вам не нужно создавать самостоятельно.

    BTW, если вы решите что-то изменить в конфигурации пользователя (например: указать домашний каталог или изменить оболочку), вы всегда сможете сделать это с usermod команды usermod .

    Прочтите man useradd и man usermod .

    редактировать

    На самом деле вам следует ответить на некоторые вопросы:

    1. Вам нужен системный пользователь (с UID <500)?
    2. Вам нужна оболочка или вы хотите отключить доступ к оболочке ( /sbin/nologin, /bin/false )?
    3. Вам нужен домашний каталог для этого пользователя (BTW, 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: вы можете установить некоторый RPM-пакет в будущем, и он предоставит пользователю тот же UID. В этом случае у вас появятся некоторые проблемы. Это оно! BTW, tomcat, установленный с RPM, предоставляет пользователю tomcat UID = 91 и группу с GID = 91 (по крайней мере, в моей Fedora):
     $ id tomcat uid=91(tomcat) gid=91(tomcat) groups=91(tomcat) 
    1. Хорошо, используйте /bin/false или /sbin/nologin .

    2. Вы можете указать / как домашний каталог для своей службы, например, некоторые пакеты. Например, если у вас установлен tcpdump из RPM, у вас есть следующая строка в /etc/passwd :

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

    В этом случае используйте команду useradd с ключами -d / и -M .

    В другой руке tomcat, установленный из RPM, имеет правильный домашний каталог:

     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 / GROUP устарел сейчас. Используйте :

     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 в качестве значения для каталога входа пользователя.
    если -d не используется, то по умолчанию для него будет / home / thenewuser

    -m -d / data / thenewuser : аргумент -m создает исходный каталог / data / thenewuser, заданный аргументом -d.

    -M : аргумент -M указывает системе не создавать домашний каталог

    -s / bin / bash : -s используется для указания оболочки пользователя по умолчанию, / bin / bash в этом случае.

    -s или -shell одинаковы.

    -s / sbin / nologin : / sbin / nologin для Fedora и / usr / sbin / nologin для Debian – это две оболочки, которые возвращают вам вежливое сообщение вроде «эта учетная запись недоступна» и не позволяют вам входить в систему , Это сообщение можно настроить.

    -s / bin / false : используется ли старая оболочка для отказа в регистрации пользователя. Параметр / bin / false немедленно выдается, когда существует ложь. Учетные записи пользователя с / bin / false или / bin / true, поскольку их оболочки по умолчанию заблокированы.

    -s / sbin / nologin относится к unix-linux в то время как / bin / false часть GNU Coreutils. Эти оболочки должны быть указаны в файле / etc / shells для работы.

    Пользователи с / sbin / nologin (или / usr / sbin / nologin) могут подключаться через ssh или ftp, но пользователи с / bin / false полностью заблокированы из системы.

    с useradd -D : вы также можете просмотреть параметры по умолчанию, установленные для нового пользователя, которые будут созданы с использованием

     # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes # и # 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 установить палец

    ,

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

    Linux и Unix - лучшая ОС в мире.