22

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

4

5 回答 5

48

将 for 添加权限更改+为 a-以将其删除:

sudo chmod g-s filename
于 2013-01-25T19:52:01.437 回答
4

要删除 setgid 命令的数字方式

sudo chmod 0664 $文件名

这里的假设是文件的权限是 664,我们没有更改它。上述命令中最左边的位代表 setuid( 4 )、setgid( 2 ) 和sticky( 1 )。现在以符号方式表示这些 setuid 是u+s, setgid 是g+s,sticky 是o+t

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

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

于 2016-04-19T08:58:00.647 回答
1

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

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

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

chmod 00644 $filename

于 2019-03-05T16:07:06.597 回答
1

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

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

chmod "X"755 file

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

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

chmod "6"755 file

对于suid(4)、sgid(2)和sticky bit(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)和运算符(+/-)的解决方案已经在早期的答案中讨论和批准。

于 2019-12-28T17:35:05.367 回答
0
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
于 2021-12-01T16:29:19.230 回答