在linux中,s指的是“强制位权限”,位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序;如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。s权限位是一个敏感的权限位,容易造成系统的安全问题。
树图思维导图提供 linux s是什么权限思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 linux s是什么权限思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:3b1226fb37946059bf2cfb4f65a3f0d7
linux s是什么权限思维导图模板大纲
是w、r、x,分别对应着写、读、执行权限,但是除此之外Linux还支持另外一系列的权限设置,例如s权限、t权限
s,表示set UID或set GID。位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID 执行程序
如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序
s权限位是一个敏感的权限位,容易造成系统的安全问题。请在设置时小心,并注意系统中已有的SUID或SGID文件和目录
s权限包含S_ISUID、S_ISGID两个常量在内,叫做强制位权限
S_ISUID只能应用于二进制可执行文件*
S_ISGID可应用于二进制可执行文件*和目录
*shell脚本不可以,因为shell脚本并不是二进制文件
S_ISUID、S_ISGID用在二进制文件时
如果S_ISUID为真,则把此进程的有效用户ID设置为此文件拥有者的用户ID
如果S_ISGID为真,则把此进程的有效用户组ID设置为此文件的组ID
由于进程有用户/组ID影响文件访问权限,于是就相当于临时拥有文件所有者的身份
典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码
S_ISGID用在目录时
当前用户执行chdir切换至该目录后,用户进程的有效用户组ID(effective group)将会设置为该目录的用户组.若用户在此目录下具备w权限,则用户进程所创建的新文件的用户组ID与该目录用户组ID相同
ls -al /usr/bin/passwd
-rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd
我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设
设置suid:将相应的权限位之前的那一位设置为4
设置guid:将相应的权限位之前的那一位设置为
两者都置位:将相应的权限位之前的那一位设置为4+2=6
设置一个文件运行时具备文件拥有者UID的身份
chmod 4755 test
设置一个文件运行时具备文件拥有者GID的身份
chmod 2755 test
设置一个文件运行时以上两者兼备的身份
chmod 6755 test
注意:在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)
树图思维导图提供 linux目录操作类命令 在线思维导图免费制作,点击“编辑”按钮,可对 linux目录操作类命令 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4b868011d981c0e1537fe8a13a5b9a6d
树图思维导图提供 linux常用基本命令 在线思维导图免费制作,点击“编辑”按钮,可对 linux常用基本命令 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:cf1a68fa2c90dc9dc3ba91b968b0f5b6