如何限制Linux用户的访问权限

koyoteshow

koyoteshow

2016-02-19 16:22

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的如何限制Linux用户的访问权限,过去的都会过去,迎接崭新的开始,释放更美好的自己。

如果你不希望自己的文件被人读取,又或者只是不想某个特定的用户读取修改文件,限制访问权限是最好的处理方法,下面图老师小编就给大家介绍下Linux下限制用户访问权限的方法,一起来学习下吧。

 如何限制Linux用户的访问权限

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

这里提出三个解决方案。

第一种:使用chmod更改特定目录的权限。这能起到限制特定目录被某些人访问的作用,限定某个用户的目的也能达到,但是会误伤其他用户。

第二种:使用linux容器,例如lxc。耗费空间,设置稍显麻烦。

第三种:使用setfacl命令设定访问控制。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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

安装acl

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

sudo apt-get install acl

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

使用setfacl

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

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

# 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访问。

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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

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

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

# ls -ld /home/test/

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

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

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

$ ls /home/test

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

使用getfacl

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

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

$ getfacl /home/test

# file: /home/test

# owner: root

# group: root

user::rwx

user:letian:---

group::r-x

mask::r-x

other::r-x

删除设置的acl

代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

# setfacl -b /home/test/

# getfacl /home/test

# file: /home/test

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

上面就是Linux限制用户访问权限的介绍了,本文一共提供了三个解决方案,每个方案都能解决你的问题,其中以第三方案为佳,希望对你有所帮助。

展开更多 50%)
分享

猜你喜欢

如何限制Linux用户的访问权限

电脑入门
如何限制Linux用户的访问权限

Linux系统中限制用户su-权限的方法汇总

电脑入门
Linux系统中限制用户su-权限的方法汇总

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

手机QQ空间如何限制用户访问?

手机软件 应用软件
手机QQ空间如何限制用户访问?

如何在Linux下配置Nginx以限制网站用户使用代理IP访问

电脑入门
如何在Linux下配置Nginx以限制网站用户使用代理IP访问

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在Linux中限制用户空间

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
在Linux中限制用户空间

如何破解qq空间访问权限 破解qq空间访问权限的方法

qq空间 qq
如何破解qq空间访问权限 破解qq空间访问权限的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux如何修改字符集

Linux如何修改字符集

网站上传漏洞利用程序

网站上传漏洞利用程序
下拉加载更多内容 ↓