如何成为Jenkins用户?

Exp*_*ing 6 bash shell continuous-integration continuous-deployment jenkins

我安装了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
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)

Exp*_*ing 9

基本上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.


And*_*nek 6

这更像是对超级用户的质疑,但是:

sudo切换用户时不需要。su无论如何都会询问用户密码:

su - jenkins
Run Code Online (Sandbox Code Playgroud)

您还可以使用sudo该-u选项以另一个用户的身份执行单个命令。如果该命令是外壳程序,则将获得一个外壳程序。例如:

sudo -u jenkins /bin/bash
Run Code Online (Sandbox Code Playgroud)

  • `sudo -u jenkins /bin/bash` 在没有密码提示的情况下工作 (3认同)

小智 6

也可以运行:

su - jenkins -s /bin/bash
Run Code Online (Sandbox Code Playgroud)