Exp*_*ing 6 bash shell continuous-integration continuous-deployment jenkins
我安装了Jenkins,在安装过程中jenkins创建了一个名为user的用户.我可以从文档中看到:
现在我需要成为这个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
Run Code Online (Sandbox Code Playgroud)
为什么切换用户到jenkins用户不起作用?
我在RHEL.
cat /etc/*release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Run Code Online (Sandbox Code Playgroud)
基本上jenkins没有配置这个Jenkins用户bash.
jenkins:x:496:492:Jenkins Continuous Build server:/var/lib/jenkins:/bin/false
Run Code Online (Sandbox Code Playgroud)
所以我们需要为这个用户设置bash并解决了这个问题.我使用以下命令:
sudo usermod -s /bin/bash jenkins
Run Code Online (Sandbox Code Playgroud)
见下文:
jenkins:x:496:492:Jenkins Continuous Build server:/var/lib/jenkins:/bin/bash
Run Code Online (Sandbox Code Playgroud)
现在我可以执行su并且可以使用bash.
这更像是对超级用户的质疑,但是:
sudo切换用户时不需要。su无论如何都会询问用户密码:
su - jenkins
Run Code Online (Sandbox Code Playgroud)
您还可以使用sudo该-u选项以另一个用户的身份执行单个命令。如果该命令是外壳程序,则将获得一个外壳程序。例如:
sudo -u jenkins /bin/bash
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10782 次 |
| 最近记录: |