Я пытаюсь запустить Gitlab CE на RHEL 7.2 (Maipo). Я завершил установку Gitlab. Однако я не могу бежать sudo gitlab-ctl reconfigure
. Ошибка, сведения о среде и то, что я пробовал, описаны ниже. Кто-нибудь знает, что я упускаю или делаю не так?
================================================================================
Error executing action `create` on resource 'user[Webserver user and group]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '6'
---- Begin output of ["usermod", "-s", "/bin/false", "-d", "/var/opt/gitlab/nginx", "gitlab-www"] ----
STDOUT:
STDERR: usermod: user 'gitlab-www' does not exist in /etc/passwd
---- End output of ["usermod", "-s", "/bin/false", "-d", "/var/opt/gitlab/nginx", "gitlab-www"] ----
Ran ["usermod", "-s", "/bin/false", "-d", "/var/opt/gitlab/nginx", "gitlab-www"] returned 6
RHEL 7.2 (Maipo), Chef Client, версия 12.12.15 (взято для gitlab-ctl reconfigure
вывод)
sudo useradd -s /bin/false -d /var/opt/gitlab/nginx gitlab-www
Я получаю ошибку useradd: user 'gitlab-www' already exists
. Однако я подтвердил, что запись для gitlab-www не существует в / etc / passwd.gitlab-ctl reconfigure
успешно, но это похоже на супер-хак, и я не знаю, как это повлияет на установку Gitlab. Мне пришлось переименовать всех этих пользователей, потому что после переименования gitlab-www я получил бы ту же ошибку с пользователем git, затем git-redis и так далее.Когда пользователь создается правильно, он добавляется в два файла - /etc/passwd
и /etc/shadow
. Первый содержит информацию о домашнем каталоге, оболочке входа и т. Д .; последний содержит зашифрованный пароль для пользователя.
Из вашего описания я должен предположить, что пользователь существует в /etc/shadow
но не в /etc/passwd
.
Самое простое решение - отредактировать /etc/shadow
(используя sudo) и удалите строку, которая выглядит примерно так
gitlab-www:!!:12345::::::
Другая возможность - вручную добавить пользователя в /etc/passwd
. Сначала найдите UID в теневом файле:
[jenny@finch ~]$ sudo grep gitlab-www /etc/shadow | cut -d: -f3
12345
[jenny@finch ~]$ sudo vi + /etc/passwd
Затем добавьте следующую строку:
gitlab-www:x:12345:12345:Gitlab WWW user:/var/opt/gitlab/nginx:/bin/false