linux下access函數(shù)的用法介紹
Linux內(nèi)核總是根據(jù)進(jìn)程的有效用戶ID和有效組ID來(lái)決定一個(gè)進(jìn)程是否有權(quán)訪問(wèn)某個(gè)文件。因此,在編寫調(diào)整用戶ID的程序時(shí),在讀寫一個(gè)文件之前必須明確檢查其用戶是否原本就有對(duì)此文件的訪問(wèn)權(quán)限。為了實(shí)現(xiàn)這種確認(rèn),需要使用access函數(shù)。
一般形式為;
#include<unistd.h>
int access(const char *pathname,int mode);
其中,pathname是希望檢驗(yàn)的文件名(包含路徑),mode是欲檢查的訪問(wèn)權(quán)限,如下所示
R_OK 檢驗(yàn)調(diào)用進(jìn)程是否有讀訪問(wèn)權(quán)限
W_OK 檢驗(yàn)調(diào)用進(jìn)程是否有寫訪問(wèn)權(quán)限
X_OK 檢驗(yàn)調(diào)用進(jìn)程是否有執(zhí)行訪問(wèn)權(quán)限
F_OK 檢驗(yàn)規(guī)定的文件是否存在
access檢查用戶對(duì)一個(gè)文件的權(quán)限情況,根據(jù)mode的值檢查調(diào)用進(jìn)程對(duì)文件pathname是否具有讀、寫、或執(zhí)行的權(quán)限。若進(jìn)程實(shí)際用戶具有mode所指出的權(quán)限,access返回0.否則返回-1.
例如:
access("test",06);
access("test",F_OK);
分別用來(lái)檢查實(shí)際用戶對(duì)test文件是否具有讀寫權(quán)限和test文件是否存在。
- linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
- Linux里awk中split函數(shù)的用法小結(jié)
- linux下C語(yǔ)言中的mkdir函數(shù)與rmdir函數(shù)
- 解析Linux下的時(shí)間函數(shù):設(shè)置以及獲取時(shí)間的方法
- linux系統(tǒng)上支持php的 iconv()函數(shù)的方法
- 解析linux 文件和目錄操作的相關(guān)函數(shù)
- PHP執(zhí)行l(wèi)inux系統(tǒng)命令的常用函數(shù)使用說(shuō)明
- Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
- linux中常用腳本和函數(shù)分享
- linux下system函數(shù)的簡(jiǎn)單分析
相關(guān)文章
C++動(dòng)態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù)
這篇文章主要介紹了C++動(dòng)態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù),是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09C語(yǔ)言實(shí)現(xiàn)掃雷小游戲的示例代碼
這篇文中主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)經(jīng)典的掃雷小游戲。掃雷小游戲主要是利用字符數(shù)組、循環(huán)語(yǔ)句和函數(shù)實(shí)現(xiàn),感興趣的小伙伴可以了解一下2022-10-10C語(yǔ)言實(shí)現(xiàn)程序開機(jī)自啟動(dòng)
本文給大家分享的是一則C語(yǔ)言實(shí)現(xiàn)開機(jī)自啟動(dòng)的代碼,主要是通過(guò)C來(lái)獲取程序路徑修改注冊(cè)表項(xiàng)來(lái)實(shí)現(xiàn),有需要的小伙伴可以參考下2016-01-01C++類中的常數(shù)據(jù)成員與靜態(tài)數(shù)據(jù)成員之間的區(qū)別
常數(shù)據(jù)成員是指在類中定義的不能修改其值的一些數(shù)據(jù)成員,類似于我們以前學(xué)過(guò)的常變量,雖然是變量,也有自己的地址,但是一經(jīng)賦初值,便不能再被修改2013-10-10C++容器std::vector的swap()函數(shù)使用方式
這篇文章主要介紹了C++容器std::vector的swap()函數(shù)使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08