今天在Centos上安装好了jenkins后,由于jenkins会自动创建一个用户。
所以我想切换到jenkins用户来操作jenkins。
我执行下面语句
su jenkins
输入密码后,提示错误
这是由于没有激活jenkins。
之后我执行下面命令:
sudo passwd jenkins
Enter new UNIX password: 输入新密码
Retype new UNIX password:再次输入新密码
passwd: password updated successfully
之后再执行:
su jenkins
这次不报错,但是就是切换不过去;网上一搜,找到了解决办法:
/etc/passwd文件中的/bin/bash被yum安装的时候变成了/bin/false.
然后我执行cat /etc/passwd命令,果然被改成了/bin/false
cat /etc/passwd
接着执行sudo vim /etc/passwd命令,把false改为bash
sudo vim /etc/passwd
修改完毕后,执行su jenkins命令。
结果新的问题又来啦
当我切换到jenkins用户后,命令提示符的用户名不是jenkins而变成了
-bash-4.1#
网上一查,原因是在安装jenkins时,jenkins只是创建了jenkins用户,并没有为其创建home目录。所以系统就不会在创建用户的时候,自动拷贝/etc/skel目录下的用户环境变量文件到用户家目录,也就导致这些文件不存在,出现-bash-4.1#的问题了
以下命令是在切换到jenkins用户下执行的!(只是用户现在显示的是-bash-4.1)
这个时候呢,参考网上的做法我执行下面步骤:
①vim ~/.bash_profile
执行上面的命令,即使没有.bash_profile文件,linux会自动创建。
②然后再添加这句
export PS1='[\u@\h \W]\$'
PS1:命令行提示符环境变量
③我们最后再刷新.bash_profile文件,使其起作用
source ~/.bash_profile
参考地址:
http://www.51itong.net/centos-shell-bash-4-1-12294.html