本文共 1365 字,大约阅读时间需要 4 分钟。
文件系统中的 ACL(访问控制列表)权限管理是一种灵活的权限分配机制,允许管理员为特定文件或目录指定访问权限,不受用户组的限制。与传统的组权限不同,ACL权限直接针对用户或组,提供更细粒度的控制。
在操作 ACL权限之前,需确保文件系统支持 ACL。可以通过以下命令查看分区信息:
df -hdump2fs -h /dev/sda3
注意:-h
参数仅显示超级块信息,若需查看磁盘快组详情,请勿使用该参数。
为特定文件或目录设置 ACL权限,可使用以下命令:
mount -o remount,acl /
此命令设置 ACL权限为临时生效,永久设置需修改 /etc/fstab
文件。
####永久设置 ACL将 ACL权限永久添加至文件系统配置中,编辑 /etc/fstab
文件:
vi /etc/fstab
在文件末尾添加以下行:
UUID=fadf-fds-adfaf-sdfa-fafdasdsadfsdf / ext4 defaults,acl
然后重新挂载文件系统:
mount -o remount /
选项 | 描述 |
---|---|
-m | 设置 ACL权限 |
-x | 删除指定 ACL权限 |
-b | 删除所有 ACL权限 |
-d | 设置默认 ACL权限 |
-k | 删除默认 ACL权限 |
-R | 递归设置 ACL权限 |
为用户 shiting
设置 ACL权限:
setfacl -m u:shiting:rwx /test
若需递归设置权限:
setfacl -m u:shiting:rwx -R /test
删除特定用户或组的 ACL权限:
setfacl -x u:用户名 /testsetfacl -x g:组名 /test
删除所有 ACL权限:
setfacl -b /home/project
SetUID 和 SetGID 是 Linux 中文件和目录的特殊权限,允许普通用户执行特定任务。SetUID 让普通用户成为超级用户,SetGID 类似于 SetUID,但适用于组。
为文件或目录设置 SetUID:
chmod u:suid:u:uid /test
注意:SetUID 权力极为危险,建议谨慎使用。
chattr
命令用于设置和查看文件或目录的特殊属性(attributes)。
设置不可删除属性:
chattr +i /test
设置只允许增加数据属性:
chattr =a /test
查看文件或目录的属性:
lsattr -a /test
sudo
是一种常用的权限管理工具,允许普通用户执行特定的超级权限任务。
编辑 /etc/sudoers
文件:
visudo
添加以下规则:
root ALL=(ALL) ALL%wheel ALL=(ALL) ALL
执行特定命令:
sudo apt updatesudo useradd micu
通过合理配置 ACL权限、SetUID/SetGID、chattr 和 sudo,可以有效管理文件系统权限,提升系统安全性。请谨慎操作,避免滥用权限。
转载地址:http://hqzfk.baihongyu.com/