我已经安装了jenkins,在安装过程中,已经创建了名为jenkins
的用户。我可以从文档中看到:
创建了" Jenkins"用户来运行此服务。
现在我需要成为此jenkins
用户。我有以下方式:
[root@hostname ~]# sudo su - jenkins
[root@hostname ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@hostname tmp]# su - jenkins
[root@hostname tmp]# whoami
root
为什么将用户切换到Jenkins用户不起作用?
我在Rhel上。
cat /etc/*release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
基本上为此Jenkins用户jenkins
bash未配置。
jenkins:x:496:492:Jenkins Continuous Build server:/var/lib/jenkins:/bin/false
因此,我们需要为该用户设置bash,并解决问题。我使用以下命令:
sudo usermod -s /bin/bash jenkins
请参阅下文:
jenkins:x:496:492:Jenkins Continuous Build server:/var/lib/jenkins:/bin/bash
现在我可以执行su并可以使用bash。
它更像是超级用户的Queastion,但是:
切换用户时不需要sudo
。su
无论如何都会询问用户密码:
su - jenkins
您也可以使用sudo
用-u
选项执行单个命令作为另一个用户。如果该命令是外壳,您将得到一个外壳。例如:
sudo -u jenkins /bin/bash
也可以运行:
su - jenkins -s /bin/bash