繁体   English   中英

如何删除 setgid (linux/unix)?

[英]How to remove setgid (linux/unix)?

我刚刚使用$ sudo chmod g+s filename更改了我的文件权限,并且我的文件权限从drwxr-xr-x变为drwxr-sr-x 如何删除它?

将用于添加权限的+更改为-以将其删除:

sudo chmod g-s filename

要删除 setgid 命令的数字方式

须藤chmod 0664 $文件名

这里的假设是文件的权限是 664,我们不会改变它。 上述命令中最左边的位代表 setuid( 4 )、setgid( 2 ) 和 sticky( 1 )。 现在象征性地表示这些 setuid 是u+s , setgid 是g+s ,sticky 是o+t

示例 1:-chmod u+s filename 这将为提到的文件名设置uid rw s r_xr_x

示例 2:chmod 2770 目录 这将为提到的目录设置 gid,即 rwxr_ s r_x

好吧,我想补充几点来阐明使用数字方式处理文件和目录的方法。

  • 为用户/组/其他人添加单独的特殊权限。

chmod "X"755 file

其中 X 是特殊权限的特定八进制数字模式。

  • 如果您想一次添加多个特殊权限,例如 suid(4) 和 sgid(2) 即 4+2= 6

chmod "6"755 file

对于 suid(4)、sgid(2) 和粘滞位 (1),即 4+2+1= 7

chmod "7"755 file

  • 删除所有特殊权限(仅适用于文件)

chmod 00"0"755 file

好吧,4 位数字之前的尾随零在更改文件权限时不会添加任何值,但会在更改目录权限时添加值。

上面的数字代码将仅针对文件将权限从 7755 更改为 755,但如果您对目录执行相同操作,它将是 6755,因为它只会删除其他人的粘滞位。

删除目录的所有特殊权限。

chmod "000"755 file

  • 类似地,删除 suid 权限并具有 sgid(2) 和 sticky bit(1) 即 2+1= 3

chmod 00"3"755 file

使用字母 (r,w,x,X,s,,t) 和运算符 (+/-) 的解决方案已在早期答案中讨论和批准。

关于:“您可以使用数字模式设置(但不清除)位”

在 RHEL 7 上,chmod 0644 $filename 没有删除 setuid(4)、setgid(2) 或 sticky(1)。

然而,在前面加上一个额外的 0 就成功了:

chmod 00644 $filename

sgid with number
#chmod 2(permission)  (directory name)  = for adding
#chmod 0(permission)  (directory name)  = for removing
sgid with word
#chmod g+s directory name = for adding
#chmod g-s directory name = for removing

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM