linux设置用户访问权限

组、角色已经创建好。
组名:dev ,角色:pay
要求:角色pay登录路径在**/usr/local/java**下,对java/下所有子目录及文件只有读的权限
1、设置角色的访问目录(由于我事先用ansible的playbook建好,只设置了所归属组、角色密码权限)

# vim /etc/passwd

在这个地方添加要访问的路径:linux设置用户访问权限_第1张图片
2、对上层目录设置为root所有

# chown root /usr/local/

3、对目录设置只读权限

# chmod 447 /usr/local

4、登录pay角色测试
发现$符号前面不是常见的那种类型,百度一下各位大佬的看法,说是环境变量有问题,总结是两种解决方法linux设置用户访问权限_第2张图片
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保存退出)
然后登录到创建的账号就可以恢复正常显示了
在这里插入图片描述

你可能感兴趣的:(linux)