要求:輸入檔名,列印輸出該檔案初始的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...