linux下access函數的用法介紹
Linux內核總是根據進程的有效用戶ID和有效組ID來決定一個進程是否有權訪問某個文件。因此,在編寫調整用戶ID的程序時,在讀寫一個文件之前必須明確檢查其用戶是否原本就有對此文件的訪問權限。為了實現(xiàn)這種確認,需要使用access函數。
一般形式為;
#include<unistd.h>
int access(const char *pathname,int mode);
其中,pathname是希望檢驗的文件名(包含路徑),mode是欲檢查的訪問權限,如下所示
R_OK 檢驗調用進程是否有讀訪問權限
W_OK 檢驗調用進程是否有寫訪問權限
X_OK 檢驗調用進程是否有執(zhí)行訪問權限
F_OK 檢驗規(guī)定的文件是否存在
access檢查用戶對一個文件的權限情況,根據mode的值檢查調用進程對文件pathname是否具有讀、寫、或執(zhí)行的權限。若進程實際用戶具有mode所指出的權限,access返回0.否則返回-1.
例如:
access("test",06);
access("test",F_OK);
分別用來檢查實際用戶對test文件是否具有讀寫權限和test文件是否存在。
相關文章
C++動態(tài)分配和撤銷內存以及結構體類型作為函數參數
這篇文章主要介紹了C++動態(tài)分配和撤銷內存以及結構體類型作為函數參數,是C++入門學習中的基礎知識,需要的朋友可以參考下2015-09-09
C++類中的常數據成員與靜態(tài)數據成員之間的區(qū)別
常數據成員是指在類中定義的不能修改其值的一些數據成員,類似于我們以前學過的常變量,雖然是變量,也有自己的地址,但是一經賦初值,便不能再被修改2013-10-10

