linux下access函數

Linux內核老是根據進程的有效用戶ID和有效組ID來決定一個進程是否有權訪問某個文件。函數

所以,在編寫調整用戶ID的程序時,在讀寫一個文件以前必須明確檢查其用戶是否本來就有對此文件的訪問權限。spa

爲了實現這種確認,須要使用access函數。進程

通常形式爲;
#include<unistd.h>
int access(const char *pathname,int mode);
test

其中,pathname是但願檢驗的文件名(包含路徑),mode是欲檢查的訪問權限,以下所示權限

R_OK 檢驗調用進程是否有讀訪問權限
W_OK 檢驗調用進程是否有寫訪問權限
X_OK 檢驗調用進程是否有執行訪問權限
F_OK 檢驗規定的文件是否存在
程序

access檢查用戶對一個文件的權限狀況,根據mode的值檢查調用進程對文件pathname是否具備讀、寫、或執行的權限。若進程實際用戶具備mode所指出的權限,access返回0.不然返回-1.文件

例如:
access("test",06);
access("test",F_OK);
分別用來檢查實際用戶對test文件是否具備讀寫權限和test文件是否存在。co

相關文章
相關標籤/搜索