感谢支持
我们一直在努力

Linux C 创建目录函数mkdir的mode设置问题

函数原型:


#include <sys/stat.h>


int mkdir(const char *path, mode_t mode);


参数:


path是目录名


mode是目录权限


返回值:


返回0 表示成功, 返回 -1表示错误,并且会设置errno值。


mode模式位:


mode 表示新目录的权限,可以取以下值:


S_IRUSR
S_IREAD


S_IWUSR
S_IWRITE
S_IXUSR
S_IEXEC
S_IRWXU
This is equivalent to (S_IRUSR | S_IWUSR | S_IXUSR).
S_IRGRP
Read permission bit for the group owner of the file. Usually 040.
S_IWGRP
Write permission bit for the group owner of the file. Usually 020.
S_IXGRP
Execute or search permission bit for the group owner of the file. Usually 010.
S_IRWXG
This is equivalent to (S_IRGRP | S_IWGRP | S_IXGRP).
S_IROTH
Read permission bit for other users. Usually 04.
S_IWOTH
Write permission bit for other users. Usually 02.
S_IXOTH
Execute or search permission bit for other users. Usually 01.
S_IRWXO
This is equivalent to (S_IROTH | S_IWOTH | S_IXOTH).
S_ISUID
This is the set-user-ID on execute bit, usually 04000. See How Change Persona.
S_ISGID
This is the set-group-ID on execute bit, usually 02000. See How Change Persona.
S_ISVTX
This is the sticky bit, usually 01000.


例子:


#include <sys/types.h> #include <sys/stat.h>
int status;


status = mkdir(“/home/newdir”, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);


这样就创建了一个newdir目录,权限通过ls -al 查看为


drwxr-xr-x


跟用linux命令mkdir创建的目录权限位一致。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux C 创建目录函数mkdir的mode设置问题
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏