我正在测试 mkdir
函数以创建新目录:
folder = mkdir("./linux", 511);
或者
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
测试之前,您使用的是哪个版本? - David Thornleymkdir("./linux",0777)
而不是mkdir("./linux",511)
。 - Keith Thompson