Linux中限制用户访问权限的3种方法

现在需要限定某个用户对特定目录/文件的访问权限,或者把某个用户的访问范围限制在某个目录/文件中。现实情况下,还是能遇到这样的需求的,比如说ubuntu下有多个可登录用户,默认情况下,用户A的工作目录(一般为/home/A)对任何其他用户来说都是可读的,但是用户A可能不希望其他用户(或者某个特定用户)读取A的文件。

这里提出三个解决方案。

第一种:使用chmod更改特定目录的权限。这能起到限制特定目录被某些人访问的作用,限定某个用户的目的也能达到,但是会误伤其他用户。
第二种:使用linux容器,例如lxc。耗费空间,设置稍显麻烦。
第三种:使用setfacl命令设定访问控制。

其中,第三个方案是最符合要求的。本文主要讲该方案的具体实现并在我自己的本上测试。我的系统为Linux Mint 15 64位,根目录/使用的是ext4文件系统,/home使用的btrfs文件系统。

安装acl

复制代码

代码如下:

sudo apt-get install acl

有资料说是要重启系统,但是测试的时候我发现这个在以前就已经安装好了(不知道是Mint自带了还是我胡乱装的),没有重启依旧有效。

使用setfacl

以root的身份执行下面的命令:

复制代码

代码如下:

# mkdir /home/test
# touch /home/test/foo.txt
# vim /home/test/foo.txt
# ls -ld /home/test/
drwxr-xr-x 1 root root 14 Jan 16 09:46 /home/test/
# ls -ld /home/test/foo.txt
-rw-r--r-- 1 root root 6 Jan 16 09:46 /home/test/foo.txt

上面的命令在/home目录下创建目录test,在test目录下创建文件foo.txt,并在foo.txt下随便加了些内容。然后以普通用户letian的身份访问foo.txt,可以读foo.txt。

现在以root身份运行setfacl,使得/home/test目录及其里面的文件和目录不能被letian访问。

复制代码

代码如下:

# setfacl -R -m u:letian:- /home/test/

-R表示递归,-m表示修改,u:letian:-表示用户(user)letian对/home/test没有任何权限。可以根据需要添加r、w、x及其组合。 我们查看一下test目录的详细信息:

复制代码

代码如下:

# ls -ld /home/test/
drwxr-xr-x+ 1 root root 14 Jan 16 09:46 /home/test/

文件权限后面出现了一个+号,这说明该文件或者目录设置了ACL。foo.txt的权限信息后面也会有+号。 然后,以letian的身份访问该目录:

复制代码

代码如下:

$ ls /home/test
ls: cannot open directory /home/test: Permission denied

使用getfacl

getfacl用来查看对某个目录/文件设置的acl。

复制代码

代码如下:

$ getfacl /home/test
# file: /home/test
# owner: root
# group: root
user::rwx
user:letian:---
group::r-x
mask::r-x
other::r-x

删除设置的acl

复制代码

代码如下:

# setfacl -b /home/test/
# getfacl /home/test
# file: /home/test
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

(0)

相关推荐

  • 远程桌面登录提示必须拥有终端服务器用户访问权限的4种解决办法

    在默认情况下,‘远程桌面用户’组的成员拥有这些权限。如果您不是‘远程桌面用户’组或其他拥有这些权限的组的成员,或者如果‘远程桌面用户’组没有这些权限,您必须被手动授予这些权限”。 下面小编整理了4种解 ...

  • 电脑中的软盘访问权限仅限本地登录的用户怎么设置启用

    我们启用了电脑上的软盘访问权限仅限本地登录的用户功能,则表示仅允许交互式登录的用户访问可移动软盘介质.若没有用户以交互方式登录,则可以通过网路访问软盘,今天就跟大家介绍一下电脑中的软盘访问权限仅限本地 ...

  • 如何设置手机版QQ中的空间访问权限

    今天,小编给大家介绍设置手机版QQ中空间访问权限的方法,希望对大家有所帮助.具体如下:1.首先,请大家先完成手机QQ的下载,然后点击其中的[运行]按钮.2. 第二步,接下来,请大家选择确定星星的符号  ...

  • 怎么在QQ手机客户端中完成空间访问权限的设置

    随着科技的发展,QQ已经成为人们日常生活中必不可少的工具,在QQ中不仅可以与好友聊天,还可以在空间内发布自己的动态,那么如果不想要被人看到或者只允许少数人看的话,我们应当如何进行设置呢?接下来就由小编 ...

  • 手机爱奇艺中的相册访问权限怎么禁止

    我们在使用爱奇艺的时候,想要将其中开启的相册访问权限禁止,该怎么操作呢?今天就跟大家介绍一下手机爱奇艺中的相册访问权限怎么禁止的具体操作步骤.1. 解锁手机后,找到桌面上的爱奇艺APP,打开:2. 进 ...

  • Win7系统提示ipv6无网络访问权限的两种原因及解决方法

    Win7系统提示ipv6无网络访问权限,导致无法上网,这该如何解决呢?ipv6无网络访问权限的原因有很多种,针对此问题,下面我们的教大家解决ipv6无网络访问权限的问题,大家一起来看看吧. 故障原因分 ...

  • windows10系统中打开注册表编辑器的三种方法介绍

    window10怎么打开注册表编辑器?我们在日常使用电脑中,有时候可能会要使用到电脑的[注册表编辑器],有时会不知道怎么打开[注册表编辑器],下面介绍几种win10系统中打开[注册表编辑器]的方法步骤 ...

  • Win10系统用户帐户控制提示怎么取消 关闭用户账户控制的3种方法

    win10用户帐户控制提醒怎么关闭?使用windows10系统的过程中,不知道各位是否被用户账户控制的通知提醒所困扰着.每当我们正在使用电脑做一件正事的时候,莫名其妙的通知就这样打断了我们,是不是感到 ...

  • word2016中让文字快速对齐的两种方法

    word2016中让文字快速对齐的两种方法 一.利用分散对齐 1.第一种文字对齐的方法是利用分散对齐,比如现在我们要对齐的这几项内容,要以字符数最多的为基准,现在最多的是四个字符,那么其他几个选项也要 ...