Linux中限制用户访问权限的3种方法
现在有必要限制用户的访问一个特定的目录或文件,或限制用户的访问目录/文件。在现实中,或为了满足这种需求,例如,Ubuntu有多个用户登录,默认情况下,用户的工作目录(通常 /家/)是可读的任何其他用户,但用户可能不希望其他用户(或用户)读取一个文件。
这里提出三种解决方案。
第一:改变使用chmod特定目录的权限,可以限制一个特定的目录是由某些人访问的效果,和某用户的目的可以是有限的,但它会伤害其他用户。
第二:使用Linux的容器,如LXC。这需要一点空间来设置有点麻烦。
第三:使用setfacl命令来设置访问控制。
其中,第三个是最需要的。本文主要讨论了该计划的实施和测试它在我自己的书。我的系统是Linux Mint 1564位,根目录 / ext4文件系统的使用,通过 /家用Btrfs文件系统。
安装前交叉韧带
复制代码如下:sudo apt-get install ACL
数据说,有必要重新启动系统,但在测试时,我发现它已经安装之前。(我不知道薄荷是跟我来的还是我随机安装的),没有重启仍然有效。
使用setfacl
以root身份执行以下命令。
复制代码如下:# mkdir /家/测试
#触摸/家/测试/ foo.txt
# Vim /家/测试/ foo.txt
# LS—LD /家/测试/
drwxr-xr-x 1根14 1月16日这个 /家/测试/
# LS—LD /家/测试/ foo.txt
- rw-R -R - 1根6 1月16日这个 /家/测试/ foo.txt
上述命令创建 / home目录下创建目录测试,测试目录下的文件foo.txt,并增加了一些内容的foo.txt.the foo.txt然后作为一个普通用户访问和乐天,foo.txt可以读。
现在,setfacl运行为根本,使 /家/测试目录及其文件和目录不能由乐天访问。
复制代码如下:# setfacl·R·M U:乐天: / / /家测试
R代表递归,M代表修改,和U:乐天:-显示用户(用户)乐天没有许可/家/测试。R,W,X,和它们的组合可以根据需要增加。让我们在测试目录的详细资料。
复制代码如下:# LS—LD /家/测试/
Drwxr-xr-x+ 1 root root 14 Jan 16 09:46 /home/test/
在文件权限出现+号,说明文件或目录设置ACL。会有foo.txt.then的权限信息后的+号,目录访问乐天。
复制代码代码如下所示:
美元/ home /测试
Ls:无法打开目录 home /测试:拒绝权限
使用getfacl
使用getfacl查看一个目录/文件设置ACL。
复制代码代码如下:getfacl美元/家/测试
#文件: /家/测试
#业主:根
#组:根
User:: RWX
用户:乐天:---
组:X
面膜::X
其他::X
删除ACL的集合
复制代码代码如下所示:
# setfacl B / / /家测试
# getfacl /家/测试
#文件: /家/测试
#业主:根
#组:根
用户::rwx
组:X
其他::X