我安装了Jenkins,在安装过程中jenkins
创建了一个名为user的用户.我可以从文档中看到:
创建'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)
Exploring.. 9
基本上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.
也可以运行:
su - jenkins -s /bin/bash
基本上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.
这更像是对超级用户的质疑,但是:
sudo
切换用户时不需要。su
无论如何都会询问用户密码:
su - jenkins
您还可以使用sudo
该-u
选项以另一个用户的身份执行单个命令。如果该命令是外壳程序,则将获得一个外壳程序。例如:
sudo -u jenkins /bin/bash