o nome de usuário está aparecendo como root em vez de um usuário que efetuou login?

1

Eu tenho um servidor CentOS em que estou logando como usuário jenkins , mas o nome do usuário está aparecendo como root em vez de jenkins

[root@centos-7-1 ~]# sudo su - jenkins  
Last login: Sat Jul 14 20:21:16 UTC 2018 on pts/0
[root@centos-7-1 ~]# hostname  
centos-7-1

Por favor, sugira como isso pode ser corrigido. Eu verifiquei o arquivo sudoers eu encontrei isso, não tenho certeza se é de alguma forma relacionada com o problema

[root@centos-7-1 etc]# cat group | grep jenkins
jenkins:x:993:

[root@centos-7-1 ~]# grep jenkins /etc/passwd 
jenkins:x:996:993:Jenkins Automation Server:/var/lib/jenkins:/bin/false
[root@centos-7-1 ~]#

Quando executo whoami após a troca de usuários, recebo:

[root@centos-7-1 ~]# su - jenkins 
Last login: Sat Jul 14 20:33:18 UTC 2018 on pts/0 
[root@centos-7-1 ~]# whoami 
root
    
por Sourabh 14.07.2018 / 22:36

2 respostas

5

Ah, isso é simples. Seu usuário jenkins está definido em /etc/passwd da seguinte forma:

jenkins:x:996:993:Jenkins Automation Server:/var/lib/jenkins:/bin/false

Veja a última entrada, que diz /bin/false ? Não há um shell válido definido para o usuário jenkins, portanto, a sessão é encerrada imediatamente - e você retorna ao shell raiz com o qual começou.

    
por 14.07.2018 / 22:49
0

/bin/false , pois o shell de login do usuário impede que o usuário faça o login no sistema por meios normais. Você não quer mudar isso, pois é uma medida de segurança. Basta pedir outro shell ao alternar para o usuário de destino:

sudo su -s /bin/bash jenkins

Isto é, se o seu realmente precisar usar uma sessão de shell interativa como o usuário jenkins . Como o usuário não tem um shell de login real, parece que você não deveria usar este usuário interativamente durante a operação normal.

    
por 15.07.2018 / 08:50

Tags