gitlab-ctl reconfigura erro ao criar usuário / grupo na instalação inicial

1

Estou tentando executar o Gitlab CE no RHEL 7.2 (Maipo). Eu completei a instalação do Gitlab. No entanto, não consigo executar sudo gitlab-ctl reconfigure . O erro, os detalhes do ambiente e o que eu tentei estão descritos abaixo. Alguém sabe o que estou perdendo ou fazendo errado?

Erro

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

Ambiente

RHEL 7.2 (Maipo), Chef Client, versão 12.12.15 (usado para a saída gitlab-ctl reconfigure )

O que eu tentei

  • Siga as etapas de instalação aqui para o RHEL 7.
  • Adicione manualmente o usuário gitlab-www: Ao executar esse sudo useradd -s /bin/false -d /var/opt/gitlab/nginx gitlab-www , recebo o erro useradd: user 'gitlab-www' already exists . No entanto, verifiquei que um registro para o gitlab-www não existe em / etc / passwd.
  • Usuários renomeados em gitlab.rb: renomeiei os seguintes usuários em /etc/gitlab/gitlab.rb [git, gitlab-www, git-redis e gitlab-psql]. Isso me permite executar gitlab-ctl reconfigure com sucesso, mas isso parece um super hack e eu não sei qual é o impacto na instalação do Gitlab. Eu tive que renomear todos esses usuários, porque depois de renomear o gitlab-www eu teria o mesmo erro com o user git, então git-redis e assim por diante.
por AR3Y35 13.04.2017 / 20:04

1 resposta

0

Quando um usuário é criado corretamente, ele é adicionado a dois arquivos - /etc/passwd e /etc/shadow . O primeiro contém informações sobre o diretório inicial, o shell de login, etc; o último contém a senha criptografada para o usuário.

De sua descrição, devo supor que o usuário existe em /etc/shadow , mas não em /etc/passwd .

A solução mais simples é editar /etc/shadow (usando o sudo) e remover a linha que se parece com

gitlab-www:!!:12345::::::

Outra possibilidade é adicionar manualmente o usuário a /etc/passwd . Primeiro, encontre o UID no arquivo de sombra:

[jenny@finch ~]$ sudo grep gitlab-www /etc/shadow | cut -d: -f3
12345
[jenny@finch ~]$ sudo vi + /etc/passwd

Em seguida, adicione a seguinte linha:

 gitlab-www:x:12345:12345:Gitlab WWW user:/var/opt/gitlab/nginx:/bin/false
    
por 14.04.2017 / 12:39