Linux设置目录用户权限
在工作中,线上的服务器的log日志会给开发人员开放,这个时候就需要控制权限,给开发人员的权限只能是去看log,并不能进入到其他的文件夹里面,找了一些工具,做以下记录
首先需要创建一个开发账号,提供给开发人员使用
例如:需要控制的目录
/home/logs
查看当前服务器上面的用户
cat /etc/passwd
添加用户
useradd csdn
设置密码
passwd csdn
csdn789
这个时候,对外的用户就创建好了
接下来就是设置权限了
用ACL授权可以处理这个问题
setfacl -m u:username:rwx dir/file
-m:添加或者修改
u[设置用户]:username[用户名]:rwx[设置权限]
g[设置组]:groupname[组名]:rwx[设置权限]
setfacl -m u:username:r -R dir #同时设置子目录下的权限
-R : 递归设置子目录下的权限
setfacl -x u:username dir/file #删除用户的权限
setfacl -x g:groupname dir/file #删除组的权限
setfacl -b dir/file #删除该目录的全部acl权限
就这个问题,可以用
setfacl -x u:userA -R / #删除userA的所有权限
setfacl -m u:userA:rwx /dir1 #赋予userA对dir1的读写执行权限
setfacl -m u:userB:rwx /dir1 #赋予userB对dir1的rwx权限,同理可以设置userB C D对dir2,3,4等等其它目录的权限
首先查看根目录

在外面先把所有目录的权限都去掉

把usr bin的路径也放出来了

usr文件夹需要单独设置

单独给log所在配置权限
setfacl -m u:loguser:rx /home/cd /home/setfacl -m u:loguser:rx -R logs/这样就配置好了
这个时候使用csdn账号登录,就只能访问/home/logs 下面的文件了
这个账户也可以给普通开发人员使用了
