限制Linux指定用户访问某个文件夹,禁止其访问指定文件夹

     默认情况下用户本身就只能读写执行自己目录下自己创建的文件,自己主目录以外的文件都没有写权限、执行权限;自己主目录以外的目录,则只有r和x权限,没有w权限,对于合法的ssh用户,这样的权限就已经足够了。 否则如果去该系统目录和文件的权限,可能会引起一些问题。

这时候就用到setfacl(设置文件访问控制列表

一、安装

apt install setfacl -y 或者 apt install acl -y

二、用法

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m,       --modify-acl 更改文件的访问控制列表
-M,       --modify-file=file 从文件读取访问控制列表条目更改
-x,       --remove=acl 根据文件中访问控制列表移除条目
-X,       --remove-file=file 从文件读取访问控制列表条目并删除
-b,       --remove-all 删除所有扩展访问控制列表条目
-k,       --remove-default 移除默认访问控制列表
          --set=acl 设定替换当前的文件访问控制列表
          --set-file=file 从文件中读取访问控制列表条目设定
          --mask 重新计算有效权限掩码
-n,       --no-mask 不重新计算有效权限掩码
-d,       --default 应用到默认访问控制列表的操作
-R,       --recursive 递归操作子目录
-L,       --logical 依照系统逻辑,跟随符号链接
-P,       --physical 依照自然逻辑,不跟随符号链接
          --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
          --test 测试模式,并不真正修改访问控制列表属性

三、使用

创建ubuntu用户

useradd ubuntu -d /home/ubuntu -s /bin/bash -m

使用setfacl做访问控制,禁止ubuntu用户访问/data目录

setfacl -R -m u:ubuntu:- /data

取消/data规则设定 

setfacl -b /data

你可能感兴趣的:(linux组件,linux,服务器,运维)