繁体   English   中英

错误的权限设置粘滞位

[英]Wrong permissions sets sticky bit

几天前,我碰巧在使用php-function mkdir时错误地设置了权限:

mkdir("foldername", 777, true);

正确的方法是,假设您需要这些权限:

mkdir("foldername", 0777, true);

我知道我不应该在我的文件或文件夹上使用777,但这是一个非常封闭的系统,所以请不要陷入困境。 因为至少对我来说这是一个有趣(奇怪)的部分。 因为我们注意到当这个脚本创建文件夹时有些奇怪。 设置的持久性非常奇怪,特别是像我这样的非高级用户。 因为我们看到的是创建的文件夹的权限设置为:

dr - - - - x - - t

对我来说很奇怪,我之前没有听说过粘性位( t ),但是当你想让那个文件只能被root删除时,这显然是设置的。 有谁知道为什么PHP会像这样,或者它甚至是一个PHP问题(不是真正的问题,因为我当时是错误地使用该函数),或者这是我们的* nix系统在默认情况下默认做的事情或者其他的东西?

文件权限采用八进制表示法(基数为8)。

777是小数,它意味着01411八进制也设置粘性...

有人回答了这个问题然后将其删除,这很难过,因为我强烈认为这是正确的。 所以如果你读到这个,请再次发布答案,我会接受的。

无论如何,似乎PHP将decimal 777转换为octal 1411 ,并将权限设置为我得到的,即:

dr - - - - x - - t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM