文件特殊权限,SUID和SGID,SBIT
文件常用的权限修改
chmod u+s /bin/cat
让文件或者目录所有者用于可执行二进制文件的权限
SUID 只针对可执行文件有效,换句话说,只有可执行文件才可以被赋予 SUID 权限,普通文件赋予 SUID 没有意义。
仅对二进制权限有效,可以暂时让执行者拥有属主的权限
有x权限就会变成s,是-的话就会变成S。
linux 二进制文件是ELF格式,主要目标文件,静态链接库文件,动态文件,可执行文件,core dump文件
这是一种有条件的,临时特殊授权提升方法,比如密码的/etc/shadow文件,任何用户都无权限,但是/bin/passwd文件的所拥有者,可以使用命令对其shadow文件进行修改,这就是SUID的作用
chmod -Rf g+s wenjian
让文件夹强制递(子文件夹也会更该权限)归使组用户
让执行者临时拥有文件所属组的权限(对拥有执行权限的二进制程序 进行设置); 在某个目录中创建的文件自动继承该目录的用户组(只可以对 目录进行设置),就是自动继承,并且拥有文件的执行权限。其实SUID和SGID差不多的,只不过SGID是对用户组来操作的
chmod -R o+t wenjian
让文件/文件目录递归除创建者和用户外无法删除
Sticky BIT,简称 SBIT 特殊权限,可意为粘着位、粘滞位、防删除位等。
SBIT 权限仅对目录有效,一旦目录设定了 SBIT 权限,则用户在此目录下创建的文件或目录,就只有自己和 root 才有权利修改或删除该文件。
也就是说,当甲用户以目录所属组或其他人的身份进入 A 目录时,如果甲对该目录有 w 权限,则表示对于 A 目录中任何用户创建的文件或子目录,甲都可以进行修改甚至删除等操作。但是,如果 A 目录设定有 SBIT 权限,那就大不一样啦,甲用户只能操作自己创建的文件或目录,而无法修改甚至删除其他用户创建的文件或目录。
u: User,即文件或目录的拥有者。
g: Group,即文件或目录的所属群组。
o: Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a: All,即全部的用户,包含拥有者,所属群组及其他用户
总结:
当文件所属组上x位置没有s的时候,谁创建的文件所属组就归谁
suid针对二进制可执行文件个人,sgid针对组,sbit防删
下面来介绍一下与其相关的两个命令chmod和chown
chmod命令是一个非常实用的命令,能够用来设置文件或目录的 权限,格式为“chmod [参数] 权限 文件或目录名称”。
chmod 760 test
可读可写可执行,可读可写不可执行,不可读不可写不执行
除了设置文件或目录的权限外,还可以设置文件或目录的所有者 和所属组,这里使用的命令为chown,其格式为“chown [参数] 所 有者:所属组 文件或目录名称”。
chown [-R] 所有者:所属组 文件或目录 -R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。
chown user file #修改文件的所有者
更改所属用户chow root: test
更改所属组chow :root test
同时更改[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录

浙公网安备 33010602011771号