如何删除setgid(linux / unix)?

时间:2013-01-25 19:49:58

标签: linux unix

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

4 个答案:

答案 0 :(得分:41)

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

sudo chmod g-s filename

答案 1 :(得分:3)

要删除setgid命令的数字方式

sudo chmod 0664 $ filename

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

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

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

答案 2 :(得分:0)

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

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

但是在前面加上0可以解决问题:

chmod 00644 $filename

答案 3 :(得分:0)

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

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

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)和粘性位(1),即2 + 1 = 3

chmod 00"3"755 file

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