Centos A conta do usuário está cadastrada, mas é possível su em conta


12

Eu sou novo no CentOS (executando o CentOS 6). Tenho experiência anterior com o OpenSuse.

Estou tentando configurar uma conta para um usuário. Não quero que a conta esteja disponível para login via ssh ou pela tela de login. Mas ainda quero poder efetuar login no usuário usando o comando su. Isso me permite executar certos aplicativos como o usuário com acesso restrito. O usuário não é um superusuário, portanto, não pode afetar aplicativos de outros usuários.

Qualquer ajuda seria muito apreciada. Geralmente, eu quero usar isso para executar o servidor Glassfish etc.


Então, como você resolveu isso com o OpenSuSE?
Nils

Respostas:


15

No centos, você configuraria com um usuário sem shell usando / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Se você precisar se tornar isso, use o parâmetro -s e coloque como argumento o shell de sua escolha, assim:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Observe que, se você usar o bash, ele lerá as configurações do / etc / profile primeiro e padronizará essas configurações se não houver .bash_profile, .bash_login ou.profile no diretório inicial do usuário. Obviamente, se você quiser usar as configurações de ambiente existentes que existem na raiz, basta remover o traço:

Saída [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 

0

Uma maneira comum é definir o shell do usuário para /bin/false


Eu tentei configurá-lo para / bin / false, mas parece que o CentOS 6 não tem essa opção. Ele tem uma opção bin / nologin, mas isso não me permite processar a conta de usuário.

trysu -m username
unbeli

Se eu definir o usuário como / sbin / nologin e tentar su com a opção -m, ele informa que a conta não está disponível no momento. Também tentei adicionar o / bin / false ao arquivo shells. Quando faço isso, o comando su simplesmente não muda para o usuário.

ok, NÃO adicione / bin / false ao arquivo de shells. Defina o shell do usuário como / bin / false. Use su -m.
unbeli

Eu o removi do arquivo / etc / shells e configurei o shell do usuário como / bin / false usando o comando usermod. Se agora eu tentar su -m nome de usuário, ele informa que não tenho permissões para .bashrc. Estou logado como root. Se agora eu faço: su - username, não me dá erro, mas ainda sou visto como root. Isso é normal em Centos?

0

Normalmente, coloco um "x" no campo de senha criptografada desses usuários "técnicos". Portanto, o usuário não terá nenhuma senha possível. Se agora também houver uma chave pública nas chaves_autorizadas desse usuário, essa conta deverá ser bastante segura.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.