我有一个 CentOS 服务器,我以jenkins用户身份登录,但用户名显示为root而不是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
Run Code Online (Sandbox Code Playgroud)
我检查了我发现的 sudoers 文件,我不确定它是否与问题有某种关系
[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 ~]#
Run Code Online (Sandbox Code Playgroud)
当我whoami在切换用户后执行时,我得到:
[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
Run Code Online (Sandbox Code Playgroud)
啊,这很简单。您的jenkins用户定义/etc/passwd如下:
jenkins:x:996:993:Jenkins Automation Server:/var/lib/jenkins:/bin/false
Run Code Online (Sandbox Code Playgroud)
看到最后一个条目,它说/bin/false?没有为 jenkins 用户定义有效的 shell,因此会话立即终止 — 并且您将返回到您开始时使用的 root shell。
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |