组、角色已经创建好。
组名:dev ,角色:pay
要求:角色pay登录路径在**/usr/local/java**下,对java/下所有子目录及文件只有读的权限
1、设置角色的访问目录(由于我事先用ansible的playbook建好,只设置了所归属组、角色密码权限)
# vim /etc/passwd
在这个地方添加要访问的路径:
2、对上层目录设置为root所有
# chown root /usr/local/
3、对目录设置只读权限
# chmod 447 /usr/local
4、登录pay角色测试
发现$符号前面不是常见的那种类型,百度一下各位大佬的看法,说是环境变量有问题,总结是两种解决方法
5、解决办法
(1)在**/etc/passwd**中,把对应用户最后一段shell路径确认为*/bin/bash*,然后退出编辑后,使配置文件生效,重新登录用户即可。
# source /etc/passwd
(2)在用户的~路径下没有.bash_profile文件或者配置有问题。
(建议先$ cd ~ 查看下,个人解决的时候pay用户是指定访问路径的,所以pay的这个路径是指定的路径本身)
$ cd ~
$ ls -a
如果指定路径不是/root 一般来说这个文件是不存在的,所以是显示异常,此时需要登录到root账户下操作
# cd /usr/local/java/
# touch .bash_profile
# echo " export PS1='[\u@\h \W]\\$' " >> /usr/local/java/.bash_profile
(如果各位是vim .bash_profile这个文件的话加 export PS1=’[\u@\h \W]$ 这一句即可,然后wq保存退出)
然后登录到创建的账号就可以恢复正常显示了