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

现在需要限定某个用户对特定目录/文件的访问权限,或者把某个用户的访问范围限制在某个目录/文件中。现实情况下,还是能遇到这样的需求的,比如说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

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

linux限制目录访问权限,linux用户的访问权限限制的方法都有哪些相关推荐

  1. 使用Xshell连接Linux服务器操作Mysql给Root用户添加远程访问权限

    Mysql是为了安全考虑,初始的时候并没有开启Root用户的远程访问权限,Root只能本地localhost,127.0.0.1访问,但是我们操作起来实在是不方便,下面我们就使用Xshell连接Lin ...

  2. Linux中如何添加/删除FTP用户并设置权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被设置用户名为test.被限制路径为/home/test 2.创建建用户:在root用户下: userad ...

  3. linux打理ftp用户,Linux中如何添加/删除FTP用户并设置权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被设置用户名为test.被限制路径为/home/test 2.创建建用户:在root用户下: userad ...

  4. 【Linux】目录组织结构、文件类型和文件权限

    文章目录 1.目录组织结构 1.1目录特点 1.2目录结构 1.3目录说明 2.文件类型 2.1普通文件类型 2.2目录文件类型 2.3字符设备文件 2.4块设备文件 2.5套接字文件 2.6管道文件 ...

  5. 我的Linux学习记录(蓝桥)————用户及文件权限管理

    我的Linux学习记录(蓝桥)三 Linux 是一个可以实现多用户登录的操作系统,比如"李雷"和"韩梅梅"都可以同时登录同一台主机,他们共享一些主机的资源,但他 ...

  6. linux sftp目录无法切换,linux – SFTP用户无法编辑或创建文件

    要正确chroot sftponly组成员,您需要在/ etc / ssh / sshd_config中设置此选项: Subsystem sftp internal-sftp Match Group ...

  7. linux树形目录结构存放,Linux目录结构

    Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的.各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差 ...

  8. 在linux返回目录并查看,Linux命令(十四) 查看工作目录文件 ls

    目录 命令简介 ls 命令是 Linux 下最常用的命令. ls 就是 list 的缩写.默认情况下 ls 命令用来打印出当前目录的清单, 如果 ls 指定其他目录,那么就会显示指定目录里的文件及其文 ...

  9. linux 列出目录结构6,Linux系统目录结构及文件管理命令

    Linux目录结构及文件管理命令 目录结构 1.图示 2.目录功能 文件管理命令 1.创建文件 2.创建目录 3.复制 4.移动 5.删除 6.查看文件内容 7.修改文件内容 8.光标定位命令(命令模 ...

  10. linux 关于目录的命令,Linux ---- 关于目录基本命令

    Linux ---- 关于目录基本命令 Linux ---- 关于目录基本命令 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可 ...

最新文章

  1. Ardino基础教程 19_舵机控制
  2. winxp上传文件到服务器,通过SQLServer的xp_cmdshell在服务器之间传送文件
  3. angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结
  4. ORACLE数据库事务隔离级别
  5. java中的特殊字符集合
  6. html a 的写法,HTML超链接a标记CSS样式写法示例
  7. 安装签名不一致什么意思_探灵之夜嫁安装失败签名不一致怎么办-夜嫁安装失败签名不一致解决方法-松松手游网...
  8. java多线程执行任务(工具)
  9. 【HBuilder】前端IDE神器
  10. MacOS Big Sur 11.2.3 (20D91) with Clover 5131 and OC 0.6.7 and PE 三EFI分区原版DMG黑苹果镜像
  11. MICCAI 2022 | ASA:用于预训练脑核磁分割的注意力对称自动编码器
  12. 用计算机如何修改wif密码,电脑怎么修改无线网(WIFI)密码?
  13. 琴岛学院java书_​师生共品书 传承优秀传统文化 琴岛学院第十三届金秋读书节开幕...
  14. adm怎么下bt连接_【使用教程】序列模式——福禄克BT系列电池测试仪
  15. 干货分享:数据分析面试一般都问啥?
  16. 数字公路探索新范式,维谛技术(Vertiv)助力智慧高速“再提速”
  17. You must have administrator privileges to run...
  18. Python安装Pyinstaller失败,Preparing wheel metadata ... error
  19. Excel排序,数据透视图,公式预测
  20. 通过PS把荒野草地变成大雪纷飞的雪景

热门文章

  1. java关闭inputstream_Java:浅谈InputStream的close方法
  2. 转:Lora重要知识
  3. 给初学者看的,笔记本术语解释
  4. SpringThirdDay
  5. 银行家算法(Banker's Algorithm)
  6. Python进程池Pool、进程池通信
  7. (一)使用VS进行Android开发
  8. ajax局部刷新页面
  9. 7-120 特立独行的幸福 (25分)
  10. 无线耳机哪个品牌好?真无线耳机音质排行