1. ACL权限
简介:专业用于解决身份不够用的问题(与windows权限分配思路类似)
查看分区ACL权限是否开启:dumpe2fs -h /dev/sda3
选项:-h 仅显示超级块中的信息
临时开启分区ACL权限:mount -o remount,acl /
永久开启ACL权限:修改自动挂载文件/etc/fstab
查看与设定ACL权限
查看ACL权限命令:getfacl 文件名
设定ACL权限命令:setfacl 文件名
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认的ACL权限
-k 删除默认的ACL权限
-R 递归设定ACL权限
最大有效权限mask:给用户赋予的ACL权限不是其真正具有的权限,需要与mask相与后才是其真正的权限
命令:setfacl -m
m:rx 文件名 #对用户、用户组和ACL组有影响
setfacl -b 文件名 #删除所有的ACL权限
默认的ACL权限和递归ACL权限(针对目录的命令)
递归ACL权限:父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限
默认ACL权限:如果给父目录设定了默认的ACL权限,那么目录中所有新建的子文件都会继承父目录的ACL权限
2. 文件特殊权限
SetUID:(所有者的SUID权限)—— 注:很危险
只有可以执行的二进制程序才能设定SUID权限
命令执行者要对该程序拥有x权限
命令执行者在执行该程序时获得该程序文件属主的身份
SetUID权限只在该程序执行过程中有效
设定SetUID:4代表SUID 2代表SUID 1代表SUID
命令:chmod 4755 文件名
取消命令:chmod 755 文件名 或 chmod u-s 文件名
SetGID:(所属组的SGID权限)
针对文件:
只有可以执行的二进制程序才能设定SUID权限
命令执行者要对该程序拥有x权限
命令执行者在执行该程序时获得该文件组身份的身份
针对目录:
普通用户必须对目录有r和x权限
普通用户在此目录中的有效组会变为此目录的所属组
若普通用户对此目录拥有w权限,新建的文件默认属组是这个目录的属组
Sticky BIT:(粘着位权限——只针对目录)
3. 文件系统属性chattr权限(防止误操作)
命令格式:charttr [+-=][选项] 文件名或目录
选项:i 对文件:不允许对文件进行删除、改名、也不能修改内容(锁定)
对目录:只能修改目录下的文件数据,但不允许建立和删除文件
a 对文件:只能在文件中增加数据,但不能删除也不能修改数据
对目录:只能建立和修改文件,而不能删除现有的文件
查看文件系统属性:lsattr 选项 文件名
选项:-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身的属性,而不是子文件
4. 系统命令sudo权限
——root把本来只能由超级用户执行的命令赋予普通用户执行,sudo的操作对象时系统命令
命令:visudo #实际修改的是文件/etc/sudoers
文件格式:用户名 被关机的主机地址=命令的绝对地址
+++++++++++++++++++++++++ +++++权限管理+++++++++++++++++++++++++++++++