错误的权限设置粘位

问题描述:

前几天,我偶然错误地设置权限使用PHP函数mkdir当这样的:错误的权限设置粘位

mkdir("foldername", 777, true); 

正确的方法是,asuming那些你想要的那种权限:

mkdir("foldername", 0777, true); 

我知道我不应该用在我的文件或文件夹777,但是这是一个非常封闭的系统,所以不要停留在那请。因为这里有趣的(怪异的)部分,至少对我来说。因为我们注意到当这个脚本创建文件夹时有些东西非常奇怪。设置的保证真的很奇怪,特别是对于像我这样的非Linux用户。因为我们看到的是,创建的文件夹的权限获取设置为这样:

博士 - - - - X - - T的

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

+0

通常'的mkdir (“文件夹名称”,01777,true);'设置粘性位。不知道为什么只有777会设置它。 – 2013-03-13 09:32:13

+2

文件权限以八进制表示法(基数8)表示。 777是十进制的,它意味着01411八进制,它也设置粘性 – Ihsan 2013-03-13 09:33:24

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

777是十进制的存在,这意味着01411八进制这台粘一个太...

有人回答了这个问题,然后删除了它,这是可悲的,因为我强烈认为这是正确的。因此,如果您阅读此内容,请再次发布该答案,我会接受它。

不管怎么说似乎PHP平移decimal 777octal 1411,这将权限设置为我得到了什么,即:

博士 - - - - X - - T的