目录权限02777起什么作用?

目录权限02777起什么作用?

今天发现以下PHP代码:

mkdir($directory, 02777);

chmod($directory, 02777);

我理解 PHP,但不明白这些数字的前半部分。777 部分很清楚,如果我理解正确的话,0 只是表示它是八进制。但其中的 2 有什么作用呢?

另外,如果我将其更改为 02640,那么 2 是否仍会执行其所做的任何操作,还是会根据其后续内容而发生变化?

答案1

这个八进制数字由setuidsetgidsticky位组成,它们的作用都比较复杂。

设置2标志setgid。当出现在目录中时,其中创建的所有文件都将继承其组,而不是创建用户的主要组。

更多关于维基百科

相关内容