linux学习笔记 -- 系统权限管理

权限管理命令
ACL权限:单个定义某用户对某个文件的权限。
dumpefs -h /dev/sda3 查看指定分区详细文件系统的命令,是否支持acl,一般都支持
-h 仅显示超级块中信息,而不显示磁盘块组的详细信息
df -h 查看分区情况
mount –o remount,acl/ 临时开启acl
vi /etc/fatab 文件自动挂载配置文件文件 重新挂载执行mount –o remount/ 即可生效
getfacle 【目录名】 查看acl权限
setfacl 【选项】 【目录名】 设定acl权限命令
-m 设定acl权限
-x 删除指定的acl权限
-b 删除所有acl权限
-d 设定默认的acl权限
-k 删除默认的acl权限
-R 递归设定acl权限
setfacl –m u:st:rx /project/ 给用户设定acl权限 ,如果是g:组名:权限 那么就是给组设定acl权限。
mask:最大有效权限,通过getfacle查看。可以限定除文件所有者之外的用户对文件的权限,其真实权限是本来权限与mask权限的“相与”结果,mask权限可通过setfacl命令 m:权限 的形式设定。
setfacl –x u:用户名 文件名 删除指定用户的acl权限
setfacl -x g:组名 文件名 删除指定用户组的acl权限
setfacl -b 文件名 删除文件的所有acl权限
setfacl –m u:st:rx -r /project/ 递归设置acl权限
默认acl权限:如果给父目录设定了acl权限,那么其新建的子目录都会默认继承此acl权限
setfacl –m d:u:用户名:权限 【目录名】 设定默认的acl权限
SetUID权限,使用户在执行程序时,临时的具有管理员权限,从而执行较高权限的操作,比如打开不具有读写执行权限的文件shadow。一般对二进制可执行文件使用。
命令文件的所属者为root,要实现setuid,命令执行者需要具有执行权限。
设置setuid的方法:
4代表suid用户权限开启
chmod 4755 文件名 前三位可以代表所属,组,粘着位。设置不同的数字可以使这三个的suid不同
chmod u+s 文件名
取消setuid方法:
chmod 755 文件名 直接不加第一个就可以恢复
chmod u-s 文件名 直接减去相应的权限
SGid :对二进制文件和目录都可以设置,命令执行时,组身份变为此文件的所属组。sGid的作用主要是对目录执行时,可以临时的使这个用户变为目录所属组的用户,达到一些权限。比如目录中的一些文件只有目录所属组可以看到。而此临时用户进入此目录中时所创建的文件也不再属于用户自己的所属组,而是属于目录的默认所属组。

Sticky BIT 粘着位 :只对目录有效
使具有目录写和执行权限的用户不能删除目录下非自己建立的文件。(没有粘着位时是可以删除的,此设置对root用户无效)
chmod 1755 目录名 设置粘着位
chmod o+t 目录名
取消粘着位
chmod 777 目录名
chmod o-t 目录名
文件系统属性权限chattr:
chattr 【=或者-或者=】【选项】 文件名或目录名 增加隐藏权限限制,此限制对root用户仍然有效。

  • 增加全限
  • 删除全限
    = 等于某权限
    i 如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
    a :如果对文件设置a属性,那么只能在文件中增加数据,但不能删除也不能修改数据。如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除。
    lsattr -a 目录名 查看目录的chattr属性
    sudo 临时使用root命令

以上仅供参考,希望能给大家带来帮助。

猜你喜欢

转载自blog.csdn.net/weixin_42821448/article/details/107767686