歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux C 創建目錄函數mkdir的mode設置問題

Linux C 創建目錄函數mkdir的mode設置問題

日期:2017/2/28 16:16:40   编辑:Linux教程

函數原型:

#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創建的目錄權限位一致。

Copyright © Linux教程網 All Rights Reserved