如何使用Perl chmod在目录中添加Set Group ID?

时间:2010-11-23 17:12:19

标签: linux perl chmod

我可以使用Perl chmod函数来设置权限位,例如:

chmod S_IRWXU|S_IRWXG|S_IROTH, $the_dir;

如何在上述命令中将Set Group ID添加到目录?

2 个答案:

答案 0 :(得分:4)

不知道S_xxx别名对于set group id位是什么,但是它的值是(octal)02000。所以

之一
chmod 02000|S_IRWXU|S_IRWXG|S_IROTH, $the_dir;

chmod 02774, $the_dir;

可能会奏效。

修改:现在我知道相应的S_xxx常量的名称是什么:它是S_ISGID

$ perl -MFcntl -e 'printf "0%o", Fcntl::S_ISGID()'
02000

答案 1 :(得分:1)

您无法使用chmod来执行此操作。使用chown并将uid设置为-1,即

chown -1, $groupid, $the_dir;