我可以使用Perl chmod
函数来设置权限位,例如:
chmod S_IRWXU|S_IRWXG|S_IROTH, $the_dir;
如何在上述命令中将Set Group ID添加到目录?
答案 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;