frankliuch

导航

linux 权限之acl

 

查看分区ACL权限是否开启

 centos 6 dumpe2fs -h /dev/sda1(是查看ext2/ext3/ext4 文件系统信息的命令)

   centos 7   xfs_growfs /dev/sda1(是查看xfs 文件系统信息的命令)

dumpe2fs 命令是查询指定分区详细文件系统信息的命令选项:

  -h 尽显示超级块中信息,而不显示磁盘块组的详细信息

 

df -h 查看当前有哪些分区

临时开启分区acl权限

重新挂载分区,并挂载加入acl权限mount -o remount,acl /

永久开启分区ACL权限

1.  vi /etc/fstab

2. mount -o remount /

重新挂载文件系统或重启系统

查看ACL命令

getfacl 文件名

#查看acl权限

设定ACL权限的命令

setfacl 选项 文件名

-m 设定ACL权限

-x 删除指定的ACL权限

-b 删除所有的ACL权限

-d 设定默认ACL权限

-k 删除默认ACL权限

-R递归设定ACL权限

 测试过程

添加用户 useradd st

添加组  groupadd tgroup

添加组  groupadd tgroup2

创建文件夹 mkdir /tmp/project

设置所有者,所属组 chown root:tgroup /tmp/project

设置权限 chmod 770 /tmp/project

给st用户赋予 rx权限 setfacl -m u:st:rx /tmp/project 

给 tgroup2组赋予 rwx权限 setfacl -m g:tgroup2:rwx /tmp/project 

查看基本权限 ll /tmp/project

查看acl权限 getfacl /tmp/project 

 

 最大有效acl权限mask

setfacl -m m:rx /tmp/project

删除acl权限

 删除指定用户的acl权限 setfacl -x u:st /tmp/project

删除指定组的acl权限 setfacl -x g:tgroup2 /tmp/project

删除所有的acl权限 setfacl -b  /tmp/project

 

 递归acl权限

setfacl -m u:用户名:权限 -R 文件名

chattr 修改文件属性

 选项

i :如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只运行在目录中建立和修改文件,但是不运行删除;

 

lsattr 查看文件属性

 sudo 权限

root把本来只能超级用户执行的命令赋予普通用户执行。

sudo的操作对象是系统命令。

visudo 实际修改的是 /etc/sudoers 文件

root ALL=(ALL)  ALL

#用户名   被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

 

#%wheel ALL=(ALL)  ALL

#%组名   被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

 范例:授权sc用户可以重启服务器

  sc ALL=/sbin/shutdown -r now

切换到sc登录 su -sc 

sudo -l #查看可用的sudo命令

sudo /sbin/shutdown -r now #普通用户执行sudo 赋予的命令

 

posted on 2018-01-30 20:25  frankliuch  阅读(261)  评论(0编辑  收藏  举报