Как мы можем создать учетную запись пользователя без оболочки входа для запуска сервера Tomcat.

Какова цель учетной записи пользователя без оболочки входа?

И как не может пользователь оболочки входа в систему выполнить установку Tomcat Server, используя не входящий в систему идентификатор пользователя?

2 ответа2

2

Чтобы создать системную учетную запись пользователя без оболочки:

$ sudo useradd -r -m -d ${TOMCAT_HOME} -s /sbin/nologin tomcat

Если для оболочки установить значение /sbin/nologin, то для учетной записи будет сложнее случайное сжатие (например, для пользователя tomcat устанавливается пароль, и кто-то пытается войти в систему). Это также остановит создание оболочки с помощью sudo su tomcat - .

Однако все еще возможно запускать команды от имени этого пользователя с помощью sudo:

$ sudo -u tomcat COMMAND

Если вы используете менеджер пакетов, убедитесь, что он еще не создал пользователя tomcat. При извлечении из архива убедитесь, что архив находится в месте, доступном для пользователя tomcat (например, /tmp).

1
  1. Создавая обычную учетную запись пользователя с оболочкой, которая либо не существует, либо не позволяет пользователю выполнять какие-либо команды. Например, оболочка может быть /bin/nologin или /bin/true .

  2. Идея состоит в том, чтобы передать права собственности на файлы Tomcat определенному пользователю, а не суперпользователю, т.е. root, так что при запуске Tomcat вам не нужно запускать этот процесс как root. Для безопасности просто.

  3. Скорее всего, это невозможно. Я бы хотел создать обычную учетную запись пользователя, выполнить установку и затем изменить оболочку входа в систему указанной учетной записи, чтобы она была чем-то иным, чем рабочая оболочка (см. 1).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .