linux mkdir函式建立指定許可權的檔案
linux的mkdir 函式原型如下:
int mkdir(const char *pathname, mode_t mode);
函式說明:
mkdir()函式以mode方式建立一個以引數pathname命名的目錄,mode定義新建立目錄的許可權, mode要以0開頭,例如0766。 返回值: 若目錄建立成功,則返回0;否則返回-1,並將錯誤記錄到全域性變數errno中。 mode方式:S_IRWXU | 00700許可權,代表該檔案所有者擁有讀,寫和執行操作的許可權 |
S_IRUSR(S_IREAD) | 00400許可權,代表該檔案所有者擁有可讀的許可權 |
S_IWUSR(S_IWRITE) | 00200許可權,代表該檔案所有者擁有可寫的許可權 |
S_IXUSR(S_IEXEC) | 00100許可權,代表該檔案所有者擁有執行的許可權 |
S_IRWXG | 00070許可權,代表該檔案使用者組擁有讀,寫和執行操作的許可權 |
S_IRGRP | 00040許可權,代表該檔案使用者組擁有可讀的許可權 |
S_IWGRP | 00020許可權,代表該檔案使用者組擁有可寫的許可權 |
S_IXGRP | 00010許可權,代表該檔案使用者組擁有執行的許可權 |
S_IRWXO | 00007許可權,代表其他使用者擁有讀,寫和執行操作的許可權 |
S_IROTH | 00004許可權,代表其他使用者擁有可讀的許可權 |
S_IWOTH | 00002許可權,代表其他使用者擁有可寫的許可權 |
S_IXOTH | 00001許可權,代表其他使用者擁有執行的許可權 |
今天使用該函式建立目錄,希望建立一個775的許可權的目錄。但是建立一直失敗。
後來查閱資料後發現
需要先呼叫umask函式。
該函式原型:mode_t umask(mode_t mask);
函式說明 |
umask()會將系統umask值設成引數mask&0777後的值,然後將先前的umask值返回。在使用open()建立新檔案時,該引數mode並非真正建立檔案的許可權,而是(mode&~umask)的許可權值。例如,在建立檔案時指定檔案許可權為0666,通常umask值預設為022,則該檔案的真正許可權則為0666&~022=0644,也就是rw-r--r--返回值此呼叫不會有錯誤值返回。返回值為原先系統的umask值。 |
因此,建立0775的目錄,需要先執行umask(0) 然後再呼叫mkdir函式。這樣就成功了。
轉載地址: http://www.cnblogs.com/aizaifengyu/archive/2012/12/06/2805232.html
相關推薦
linux mkdir函式建立指定許可權的檔案
linux的mkdir 函式原型如下: int mkdir(const char *pathname, mode_t mode); 函式說明: mkdir()函式以mode方式建立一個以引數pathname命名的目錄,mode定義新建立目錄的許可權, mod
自動化---建立指定格式檔案(小寫字母_wana.txt)
指定目錄下通過隨機小寫指定多少個字母加固定字串wana批量建立10個以.txt 檔案例如:aabb_wanan.txt(指定在4個小寫字母) #!/bin/bash #用法:-d filename 如果 filename存在且為目錄,則為真 #cut -c
在VC中運用mkdir函式建立多級目錄
mkdir函式只能在已存在的目錄下建立一級子目錄,如果有如此路徑: C:\Documents \test\data,直接建立此目錄是不能完成的,需要逐級進行建立。 如下: 假設szPath="<
Linux 學習之建立、刪除檔案和資料夾命令
今天學習了幾個命令,是建立、刪除檔案和資料夾的,在linux裡,資料夾是目錄,下面說下我學習的命令。 建立資料夾【mkdir】 一、mkdir命令使用許可權 所有使用者都可以在終端使用 mkdir 命令在擁有許可權的資料夾建立資料夾或目錄。 二
linux中tar打包指定路徑檔案
壓縮: tar czvf /data/backup/test.tar.gz /data/a/b/directory 解壓: cd /data/test tar xzvf /data/backup/test.tar.gz 問題是,解壓後的檔案,在/data/test/dat
linux mkdir -p 建立多級目錄
mkdir -p 一次性建立層級目錄, 如果目錄存在,則不做覆蓋建立。 如果你有mkcd,就可以直接 mkcd src/a/img。 此外,如果我們想建立多層次、多維度的目錄樹,mkcd
Python os.mkdir()函式建立目錄的實際操作方案
如果你對Python os.mkdir()函式建立目錄的實際應用方案的實際操作有不解之處時,你就可以瀏覽以下的文章對其進行更深入的瞭解,以下對Python使用os.mkdir()函式建立目錄的相關實際操作的介紹。 建立目錄在Python中可以使用os.mkdir()函式
php linux下無法建立777許可權目錄的問題
php 的mkdir命令受apache賬號許可權限制,只能建立低於其許可權的目錄 但chmod不受其限制 程式碼: function makeDir($dir, $mode = 0777) { if (!$dir) return false;
linux.1:建立分割槽和檔案系統
Command (? for help): l 0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE 3000 ONIE boot 3001 ONIE config
[小技巧]open()函式建立檔案時便捷的許可權設定
[小技巧]open()函式建立檔案時便捷的許可權設定 2016年07月18日 17:14:12 嵐漾憶雨 閱讀數:3404更多 個人分類: LinuxC程式設計 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net
【linux】ftp建立檔案許可權問題
一、問題 有一個這樣的需求,admin為一個Linux為其FTP應用建立的一個有許可權限制的使用者,通過admin使用者可以進行登入FTP服務,登入FTP服務後,建立資料夾,該資料夾的使用者和使用者組都是admin,屬性為755,即只有admin使用者才有寫的許可權,但是,
C語言open()和creat()函式建立檔案時,檔案許可權設定相關
open()和creat()建立檔案時,檔案許可權說明 首先了解一下 umask 命令,該命令用來設定限制新檔案許可權的掩碼。當新檔案被建立時,其最初的許可權由檔案建立掩碼決定。簡單地來說,umask和open()及creat()函式的許可權碼(mode_t mode引數)共同決定你
linux mkdir 命令用來建立指定的名稱的目錄
linux mkdir 命令用來建立指定的名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄。 1.命令格式: mkdir [選項] 目錄... 2.命令功能: 通過 mkdir 命令可以實現在指定位置建立以 Di
linux中使用者建立與刪除以及檔案許可權檢視和修改
一、 1.檢視使用者 命令如下:whoami 關於who的其他命令大全 2.建立使用者 建立使用者命令:sudoadduser hello 超級使用者是 root 刪除使用者名稱命令:sudodeluser hello --remove-home 切換使用
linux設定umask值, 建立的預設檔案和目錄的許可權
LINUX中 設定了umask 建立的預設檔案和目錄的許可權普通檔案預設是644 自已有讀寫(rw),同組人員有讀(r),其它有讀(r) 預設許可權可通過umask 修改 預設umask 為022 檔案:666 - 022 = 644 目錄:777 - 022 = 755
Linux運維入門~6.檔案許可權管理
出於安全的考慮,多使用者作業系統需要具備保障個人隱私和系統安全的機制。在Linux中,無論是文件還是硬體裝置都以檔案的形式存在, 相應地,安全機制也主要表現為對檔案訪問許可權的控制。要保證相應的檔案被可用的使用者操作。 本節就是linux相應的檔案許可權管理。 1.檢視檔案許可權 l
5.第5講-linux視訊教程第5講 檔案許可權 使用者組1
檔案許可權 使用者組1 ### 1. 檔案所有者、所有組和其他組 ### ###2.檔案所有者、所在組和其他組### ** 如何在linux中新增組** -groupadd policeman 檢視linux中所有組的資訊 -vi /etc/group 看了可以修改 -cat
LINUX 的解壓命令 更改檔案許可權 安裝檔案上傳命令rz (ubuntn作業系統)
檔案上傳的命令 安裝包 使用命令apt-get install lrzsz來安裝lrzsz。 apt-get install lrzsz #設定資料夾的許可權 sudo chmod 777 ./stock-back/ -R 此文參考的大佬的 連結給忘了 如果不瞞請聯絡我 linux
Linux使用者、使用者組、檔案許可權學習筆記
最近打算更仔細學習一下linux作業系統。先是惡補了一下使用者、使用者組、檔案許可權這三樣比較重要的知識。學習這幾樣東西,得先掌握linux的許可權系統相關知識。linux的許可權系統主要是由使用者、使用者組和許可權組成。使用者就是一個個的登入並使用linux的使用者。linux內部用UID表示。使用者組就是
青蛙學Linux—使用者、組、許可權和檔案屬性
1、使用者和組 1.1、使用者角色 在Linux下有以下三種角色使用者: 超級使用者:擁有對系統的最高管理許可權的使用者,預設使用者名稱為root。需要注意的是,與Windows下的超級管理員Administrator不同,root使用者在Linux下擁有最高的許可權,你可以使用root使用者執行