在Linux上,是否可以作为另一个用户进行一次性登录,覆盖其默认shell?

前端之家收集整理的这篇文章主要介绍了在Linux上,是否可以作为另一个用户进行一次性登录,覆盖其默认shell?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为root用户,我想以服务用户身份登录(jenkins – CI服务器)并使用其用户,组和umask设置操作文件.

通常我会(作为根)做sudo -i -u jenkins,甚至su-jenkins.但是jenkins的默认shell是/ bin / false,它会立即退出.

有没有办法以Jenkins身份登录,但指定使用不同的shell?我真的必须在/ etc / passwd /中更改jenkins的shell吗?

解决方法

su on linux支持使用–shell选项设置shell
su jenkins --shell=/bin/bash@H_403_11@ 
 

你需要以root身份su才能工作.从手册页:

If the target user has a restricted shell (i.e. the shell field of
       this users entry in /etc/passwd is not listed in /etc/shell),then
       the --shell option or the $SHELL environment variable wont be taken
       into account,unless su is called by root.@H_403_11@

猜你在找的Linux相关文章