Como criar um usuário não privilegiado no CentOS?

10

Desejo criar um usuário não privilegiado para executar meu servidor RhodeCode e o daemon Celery em uma instância do CentOS. Eu acho que a definição aceita disso é nenhum diretório inicial, login desativado e nenhum acesso ao shell? Olhando a página de manual para adduser, simplesmente não vejo um método intuitivo para fazer isso. Todas as sugestões são apreciadas. Obrigado.

Lester Peabody
fonte

Respostas:

9

A partir daqui (centos.org)

useradd(que é o binário real que é executado quando você chama adduser, ele se comporta de maneira diferente. Veja aqui sobre isso.) possui um sinalizador -rdocumentado da seguinte maneira:

-r   Create a system account with a UID less than 500 and without a home directory

Parece o que você quer fazer.

dtyler
fonte
Curiosamente, pelo menos no Redhat /etc/passwdterá uma entrada no diretório inicial ( /home/usernamepor padrão); o diretório, é claro, não existirá, mas isso é meio estranho)
ジ ョ ー ジ
15

Acho que devo ligar aqui duas respostas do serverfault :

Basicamente, -rsignifica "definir conta como um sistema" - "sem vencimento" etc. - e a mágica completa pode parecer

useradd -s /bin/false -r <username>

ou

useradd -s /usr/sbin/nologin -r -M -d /dev/null <username>

ou similar )

NB Para coisas como samba, também é possível fornecer uma senha a esse usuário e também pode ser adicionado /usr/sbin/nologina /etc/shells:

# `which nologin` >> /etc/shells

NB (2): conforme comentário do OrangeDog: -rna verdade implica -M, portanto -Mnão é estritamente necessário.

PS. E sim, procurando a mesma coisa em serverfault , o askubuntu - e aqui - parece um pouco estranho para mim; existe uma maneira de executar uma meta-pesquisa em, digamos, todos os sites de stackoverflow?

ジ ョ ー
fonte
Quanto à meta-pesquisa - qualquer opção "nativo" está faltando no momento, mas não há Custom Search Google para troca de pilha
ジョージ
Eu vi serviços como o chamado usando /sbin/nologinno /etc/passwd. Então, como eles iniciam seus serviços?
Antarus 30/10
@ OrangeDog: Eu não tenho um sistema CentOS à minha disposição no momento, mas no Redhat e no Debian -dnão é ignorado; é estranho que nenhum dos revisores tenha realmente se dado ao trabalho de testar) #
31515
0

Você está procurando a -ropção.

Ignacio Vazquez-Abrams
fonte
Acabei de criar um usuário usando adduser -s /sbin/nologin -M rhodecode, mas a opção -r parece ser o que estou procurando. Qual é a diferença entre usar -r e o que eu fiz? Eu sou um noob de scripts de shell, desculpe.
Lester Peabody #
Eu recomendo que você consulte a useradd(8)página de manual para ver como isso afeta o usuário criado.
Ignacio Vazquez-Abrams