首页 > 代码库 > Linux学习笔记——权限管理(六)

Linux学习笔记——权限管理(六)

1. ACL权限
     简介:专业用于解决身份不够用的问题(与windows权限分配思路类似)
     查看分区ACL权限是否开启:dumpe2fs -h /dev/sda3
          选项:-h     仅显示超级块中的信息
     临时开启分区ACL权限:mount -o remount,acl /
     永久开启ACL权限:修改自动挂载文件/etc/fstab
 
     查看与设定ACL权限
          查看ACL权限命令:getfacl 文件名
          设定ACL权限命令:setfacl 文件名
               选项: -m     设定ACL权限     用户——setfacl -m u:username:rwx  /project     组——setfacl -m g:groupname:rwx  /project
                    -x      删除指定的ACL权限
                    -b      删除所有的ACL权限
                    -d      设定默认的ACL权限
                    -k      删除默认的ACL权限
                    -R      递归设定ACL权限    
     最大有效权限mask:给用户赋予的ACL权限不是其真正具有的权限,需要与mask相与后才是其真正的权限
          命令:setfacl -m m:rx 文件名             #对用户、用户组和ACL组有影响
     删除ACL权限:setfacl -x g:groupname 文件名   #删除指定的ACL权限
                         setfacl -b 文件名     #删除所有的ACL权限
     默认的ACL权限和递归ACL权限(针对目录的命令)
          递归ACL权限:父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限
               setfacl -m u:username:权限 -R 目录
          默认ACL权限:如果给父目录设定了默认的ACL权限,那么目录中所有新建的子文件都会继承父目录的ACL权限
               setfacl -m d:u:用户名:权限 文件名
 
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
                 文件格式:用户名 被关机的主机地址=命令的绝对地址
                
+++++++++++++++++++++++++ +++++权限管理+++++++++++++++++++++++++++++++
 
 

Linux学习笔记——权限管理(六)