關閉檔案的 group的寫許可權和other的寫許可權

2021-06-22 11:22:47 字數 1964 閱讀 4824

要求:輸入檔名,列印輸出該檔案初始的group和others許可權,以及關閉寫許可權後的group和others許可權

知識點:用stat函式來獲取檔案的訪問許可權,然後用chmod函式來關閉group的寫許可權和other的寫許可權。

修改許可權函式: int chmod(const char * path,mode_t mode)

#include

#include

函式說明 chmod()會依引數mode 許可權來更改引數path 指定檔案的許可權。

mode &= ~s_irgrp;chmod(「filename」, mode); 

**:#include

#include

#include

#include

#include

#include

int main(int argc,char *argv)

res=stat(argv[1],&buf);

if(res<0)

printf("初始檔案 %s 的許可權資訊:\n",argv[1]);

//if(buf.st_mode&s_irwxu) printf("user read write execute\n");

if(buf.st_mode&s_irusr) printf("user read \n");

if(buf.st_mode&s_iwusr) printf("user write \n");

if(buf.st_mode&s_ixusr) printf("user execute\n");

//if(buf.st_mode&s_irwxg) printf("group read write execute\n");

if(buf.st_mode&s_irgrp) printf("group read \n");

if(buf.st_mode&s_iwgrp) printf("group write\n");

if(buf.st_mode&s_ixgrp) printf("group execute\n");

//if(buf.st_mode&s_irwxo) printf("other read write execute\n");

if(buf.st_mode&s_iroth) printf("other read \n");

if(buf.st_mode&s_iwoth) printf("other write\n");

if(buf.st_mode&s_ixoth) printf("other execute\n");

buf.st_mode &=~s_iwgrp;

chmod(argv[1],buf.st_mode);

buf.st_mode &=~s_iwoth;        

chmod(argv[1],buf.st_mode);

printf("更改後檔案 %s 的許可權資訊:\n",argv[1]);

if(buf.st_mode&s_irusr) printf("user read \n");

if(buf.st_mode&s_iwusr) printf("user write \n");

if(buf.st_mode&s_ixusr) printf("user execute\n");

if(buf.st_mode&s_irgrp) printf("group read \n");

if(buf.st_mode&s_iwgrp) printf("group write\n");

if(buf.st_mode&s_ixgrp) printf("group execute\n");

if(buf.st_mode&s_iroth) printf("other read \n");

if(buf.st_mode&s_iwoth) printf("other write\n");

if(buf.st_mode&s_ixoth) printf("other execute\n");

}

Golang 寫檔案的許可權定義perm

ioutil包中寫檔案的方法 funcwritefile filename string,data byte,perm os.filemode error 關於許可權的定義,可以參考golang源 go src os types.go perm是filemode型別的 typefilemode ui...

檔案的許可權和歸屬

1.檔案的基本許可權 r 允許檢視內容 ls cat,less,head,tail w 允許修改內容 vim 具有修改且儲存,重定向 rm,mv,mkdir,touch,cp x 允許執行 shell指令碼 和切換cd 2.檔案許可權的適用物件 所有者 擁有此檔案 目錄的使用者 user 所屬組 擁...

linux系統 etc下的group 檔案

etc group 檔案 使用者組的所有資訊都存放在 etc group檔案中 將使用者分組是linux系統中對使用者進行管理及控制訪問許可權的一種手段。每個使用者都屬於某個使用者組 乙個組中可以有多個使用者,乙個使用者也可以屬於不同的組。當乙個使用者同時是多個組中的成員時,在 etc passwd...