文件特殊权限

1 文件系统属性chattr权限

chattr [+-=][选项]目录文件
       i  针对文件:锁定文件,不允许对此文件进行内容修改、删除、改名。
            针对目录:锁定目录,不允许在此目录中创建删除目录文件,只能修改已有文件里面的内容。
          a  针对文件:只能在文件中增加数据,但不能删除和修改数据。
            针对目录:只允许在目录中建立修改文件但不允许删除。
查看文件系统属性 : lsattr [选项][文件名]
                    -a   显示所有文件目录。
                    -d   若目标是目录,列出目录本身属性。

试验

  • 创建file文件、dir目录,并设置chattr +i权限;显示前后的效果。
    文件特殊权限_第1张图片

  • 设置file文件和dir目录chattr +a权限,下图显示设置前后效果。
    文件特殊权限_第2张图片

    2 sudo 权限

    执行命令visudo 修改/etc/sudoers
    root    ALL=(ALL)    ALL
    用户名  被管理主机IP地址  授权命令

    试验

    • 使用visudo或者使用其他工具打开/etc/sudoers。

文件特殊权限_第3张图片

  • 添加授权的命令

文件特殊权限_第4张图片

  • 切换到普通用户使用授权命令。

文件特殊权限_第5张图片


3 SetUID 的功能

  • 可执行的二进制程序、对文件拥有执行权限、用户执行该程序时获得该程序文件属主的身份、只在该程序执行过程中有效。
    格式:chmod 4755 文件名   或chmod u+s 文件名 (取消权限 chmod 755 文件名   或 chmod u-s 文件名 )。 SetUID慎用 危险危险危险!!!
     例passwd拥有SetUID权限,所以普通用户可以修改自己密码。
    文件特殊权限_第6张图片

4 SetGID 的功能

  • 针对文件,组身份升级为所属组身份。
    例;locate 搜索命令
    文件特殊权限_第7张图片
    针对目录的作用不大。。。

5 StickBIT 的功能

  • 只针对目录使用、普通用户对该目录有rwx权限、建立后不能删除其他用户建立的文件。
    格式:chmod 1777 目录名   或   chmod o+t 目录名,(取消权限 chmod o-t 目录名)。
     例:创建dir目录设置sbit权限。
    文件特殊权限_第8张图片 切换用户 删除其他用户创建的文件 展示的效果
    文件特殊权限_第9张图片 文件特殊权限_第10张图片
  • 取消/tmp/dir目录的sbit权限,现在可以删除其他用户建立的文件目录。
    文件特殊权限_第11张图片