我测试的mkdir
函数来创建一个新的目录:linux下的mkdir功能不能充分授权许可
或
folder = mkdir("./linux", 0777);
或
folder = mkdir("./linux", S_IRWXU | S_IRWXG | S_IRWXO);
,你可以看,我尝试授权对目录的完全许可,但这里是ls -l | grep linux
:
drwxr-xr-x 2 manuzhang manuzhang 4096 2012-01-04 06:53 linux
为什么我不能授权组和其他人的写入权限?
更新:
奇怪的事情,因为你们告诉我,我试过umask
。它适用于任何umask(S_IWGRP)
或umask(S_IWOTH)
但失败与umask(S_IWGRP | S_IWOTH)
,任何想法?
头也不抬'的mkdir()',在“511”看起来很奇怪我的,因为它不分配相同的权限组和其他因为它给用户。此外,您给出了两个'mkdir()'的用法,以及一个不属于任何一个的测试示例。在'ls'测试之前你使用了什么版本? – 2012-01-03 23:06:38
mkdir的man(2)页面表示该模式已提供,与777进行AND运算,因此应该可以工作。你能否提供更多的细节?你正在使用什么发行版和Linux发行版?我希望这是你使用的完全标准的glibc? – tjarratt 2012-01-03 23:11:20
@DavidThornley 511 = 0777 – 2012-01-03 23:14:35