如何避免 sudo su -s /bin/bash jenkins

如何避免 sudo su -s /bin/bash jenkins

我以前可以通过以下方式从 root 切换到 jenkins 用户 su jenkins

但是使用我新安装的詹金斯,我必须执行 sudo su -s /bin/bash jenkins

有人知道我怎样才能再次执行 su - jenkins 吗?

答案1

查看 /etc/passwd 中为 jenkins 用户指定的 shell。你可以运行以下命令来执行此操作:

grep jenkins /etc/passwd

输出将类似于此:

jenking:1001:1001::/usr/local/jenkins:/bin/false

最后一个字段是用户的登录 shell。这里你可以看到它被设置为 /bin/false,这将立即退出。

解决方案是按照您描述的方式指定要使用的 shell:

su -s /bin/bash jenkins

或者使用“usermod(8)”修改jenkins用户的登录shell(以root用户执行):

usermod -s /bin/bash jenkins

然后grep jenkins /etc/passwd应该输出类似这样的内容:

jenkins:1001:1001::/usr/local/jenkins:/bin/bash

此后,su - jenkins将会按您预期的方式工作。

相关内容