man*_*ang 4 c linux permissions mkdir
我正在测试mkdir函数来创建一个新目录:
folder = mkdir("./linux", 511);
Run Code Online (Sandbox Code Playgroud)
要么
folder = mkdir("./linux", 0777);
Run Code Online (Sandbox Code Playgroud)
要么
folder = mkdir("./linux", S_IRWXU | S_IRWXG | S_IRWXO);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我尝试授权该目录的完全权限,但这里是提出的ls -l | grep linux:
drwxr-xr-x 2 manuzhang manuzhang 4096 2012-01-04 06:53 linux
Run Code Online (Sandbox Code Playgroud)
为什么我不能授权群组和其他人的写入权限?
更新:
奇怪的是,正如你们告诉我的那样,我试过了umask.它与两种umask(S_IWGRP)或umask(S_IWOTH)但未能有umask(S_IWGRP | S_IWOTH)任何想法?
来自man 2 mkdir:
参数模式指定要使用的权限.它以通常的方式由进程的umask修改:创建的目录的权限是(mode&〜umask&0777).
我建议你看看你的umask - 它可能会被设置为0022.试试一个chmod帖子mkdir.