linux里面怎么设置用户只能看某个目录下的文件?不能看其他的目录,但其他用户能看这个目录。

2025-03-12 19:48:26
推荐回答(5个)
回答1:

可以用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等等其它目录的权限。

不过一般设置权限都需要你有root权限才行。

1、首先在终端输入 su 回车, 输入root帐户密码,获得root权限(如果已经是管理员权限则这步可以省了)。

2、然后就是chmod 777(此处空格)+上你要改的文件目录地址,777的意思是给所有的用户读、写、执行的权限。

3、还有常用的是755(把上面的命令中的777改成755)这是对目录的所有者添加读、写、执行的权限,其他用户只有读和执行的权限。 

回答2:

用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等等其它目录的权限

回答3:

权限分为 读写执行 (r w x )
用户分为(文件所属) 拥有者owner 同组 grouper 其他人other
1文件 将B/C/D 划分为同组成员 ,然后对/根目录(或者为1的上级目录)做只有拥有者及同组成员有 r w x 权限(自定义),A为其它成员,单独为1做其它人也能访问的权限(rwx)
命令涉及 chmod ;chown -R

回答4:

把A用户放入a组,BCD用户放入b组
然后把1目录的权限设成rwxrwx---,然后组是a组
最后,再把BCD用户加入a的额外组里面,就可以了

回答5:

建两个group

第一个group 只对1目录有访问权限
第二个gruop 对所有目录有访问权限
把A 加到第一个组 B C D 加到另一个组