chmod命令用來變動文件或目錄的權限。在UNIX系統家族裏,文件或目錄權限的控制分別以讀取、寫入、執行3種通常權限來區分,另有3種特殊權限可供運用。用戶能夠使用chmod指令去變動文件與目錄的權限,設置方式採用文字或數字代號皆可。符號鏈接的權限沒法變動,若是用戶對符號鏈接修改權限,其改變會做用在被鏈接的原始文件。linux
權限範圍的表示法以下:shell
u
User,即文件或目錄的擁有者;g
Group,即文件或目錄的所屬羣組;o
Other,除了文件或目錄擁有者或所屬羣組以外,其餘用戶皆屬於這個範圍;a
All,即所有的用戶,包含擁有者,所屬羣組以及其餘用戶;r
讀取權限,數字代號爲「4」;w
寫入權限,數字代號爲「2」;x
執行或切換權限,數字代號爲「1」;-
不具任何權限,數字代號爲「0」;s
特殊功能說明:變動文件或目錄的權限。ui
chmod(選項)(參數)
-c或——changes:效果相似「-v」參數,但僅回報更改的部分; -f或--quiet或——silent:不顯示錯誤信息; -R或——recursive:遞歸處理,將指令目錄下的全部文件及子目錄一併處理; -v或——verbose:顯示指令執行過程; --reference=<參考文件或目錄>:把指定文件或目錄的所屬羣組所有設成和參考文件或目錄的所屬羣組相同; <權限範圍>+<權限設置>:開啓權限範圍的文件或目錄的該選項權限設置; <權限範圍>-<權限設置>:關閉權限範圍的文件或目錄的該選項權限設置; <權限範圍>=<權限設置>:指定權限範圍的文件或目錄的該選項權限設置;
權限模式:指定文件的權限模式;
文件:要改變權限的文件。spa
Linux用 戶分爲:擁有者、組羣(Group)、其餘(other),Linux系統中,預設的情況下,系統中全部的賬號與通常身份使用者,以及root的相關信 息, 都是記錄在/etc/passwd
文件中。每一個人的密碼則是記錄在/etc/shadow
文件下。 此外,全部的組羣名稱記錄在/etc/group
內!.net
linux文件的用戶權限的分析圖命令行
例:rwx rw- r--code
r=讀取屬性 //值=4
w=寫入屬性 //值=2
x=執行屬性 //值=1cdn
chmod u+x,g+w f01 //爲文件f01設置本身能夠執行,組員能夠寫入的權限 chmod u=rwx,g=rw,o=r f01 chmod 764 f01 chmod a+x f01 //對文件f01的u,g,o都設置可執行屬性
chown命令改變某個文件或目錄的全部者和所屬的組,該命令能夠向某個用戶受權,使該用戶變成指定文件的全部者或者改變文件所屬的組。用戶能夠是用戶或者是用戶D,用戶組能夠是組名或組id。文件名能夠使由空格分開的文件列表,在文件名中能夠包含通配符。遞歸
只有文件主和超級用戶才能夠便用該命令。get
chown(選項)(參數)
-c或——changes:效果相似「-v」參數,但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤信息;
-h或--no-dereference:只對符號鏈接的文件做修改,而不更改其餘任何相關文件;
-R或——recursive:遞歸處理,將指定目錄下的全部文件及子目錄一併處理;
-v或——version:顯示指令執行過程;
--dereference:效果和「-h」參數相同;
--help:在線幫助;
--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬羣組所有設成和參考文件或目錄的擁有者與所屬羣組相同;
--version:顯示版本信息。
用戶:組:指定全部者和所屬工做組。當省略「:組」,僅改變文件全部者;
文件:指定要改變全部者和工做組的文件列表。支持多個文件和目標,支持shell通配符。
將目錄/usr/meng
及其下面的全部文件、子目錄的文件主改爲 liu:
chown -R liu /usr/meng
chgrp命令用來改變文件或目錄所屬的用戶組。該命令用來改變指定文件所屬的用戶組。其中,組名能夠是用戶組的id,也能夠是用戶組的組名。文件名能夠 是由空格分開的要改變屬組的文件列表,也能夠是由通配符描述的文件集合。若是用戶不是該文件的文件主或超級用戶(root),則不能改變該文件的組。
在UNIX系統家族裏,文件或目錄權限的掌控以擁有者及所屬羣組來管理。您能夠使用chgrp指令去變動文件與目錄的所屬羣組,設置方式採用羣組名稱或羣組識別碼皆可。
chgrp(選項)(參數)
-c或——changes:效果相似「-v」參數,但僅回報更改的部分; -f或--quiet或——silent:不顯示錯誤信息; -h或--no-dereference:只對符號鏈接的文件做修改,而不是該其餘任何相關文件; -R或——recursive:遞歸處理,將指令目錄下的全部文件及子目錄一併處理; -v或——verbose:顯示指令執行過程; --reference=<參考文件或目錄>:把指定文件或目錄的所屬羣組所有設成和參考文件或目錄的所屬羣組相同;
將/usr/meng
及其子目錄下的全部文件的用戶組改成mengxin
chgrp -R mengxin /usr/meng
umask命令用來設置限制新建文件權限的掩碼。當新文件被建立時,其最初的權限由文件建立掩碼決定。用戶每次註冊進入系統時,umask命令都被執行, 並自動設置掩碼mode來限制新文件的權限。用戶能夠經過再次執行umask命令來改變默認值,新的權限將會把舊的覆蓋掉。
umask(選項)(參數)
-p:輸出的權限掩碼可直接做爲指令來執行; -S:以符號方式輸出權限掩碼。
權限掩碼:指定權限掩碼。
利用umask命令能夠指定哪些權限將在新文件的默認權限中被刪除。例如,能夠使用下面的命令建立掩碼,使得組用戶的寫權限,其餘用戶的讀、寫和執行權限都被取消:
umask u=, g=w, o=rwx
執行該命令之後,對於下面建立的新文件,其文件主的權限未作任何改變,而組用戶沒有寫權限,其餘用戶的全部權限都被取消。
應注意:操做符「=」在umask命令和chmod命令中的做用偏偏相反。在chmod命令中,利用它來設置指定的權限,而其他權限則被刪除;可是在umask命令中,它將在原有權限的基礎上刪除指定的權限。
不能直接利用umask命令建立一個可執行的文件,用戶只能在其後利用chmod命令使它具備執行權限。假設執行了命令umask u=, g=w, o=rwx
,雖然在命令行中,沒有刪去文件主和組用戶的執行權限,但默認的文件權限仍是640(即 rw-r-----),而不是750(rwxr-x---)。可是,若是建立的是目錄或者經過編譯程序建立的一個可執行文件,將不受此限制。在這種狀況 下,會設置文件的執行權限。
也能夠使用八進制數值來設置mode。因爲在umask中所指定的權限是要從文件中刪除的,因此,若是該文件原來的初始化權限是777,那麼執行命令umask 022之後,該文件的權限將變爲755:若是該文件原來的初始化權限是666,那麼該文件的權限將變爲644。
能夠使用下面的命令檢查新建立文件的默認權限:
umask -s
選項-s表示以字符形式顯示當前的掩碼。若是直接輸入umask命令,不帶任何參數,那麼將以八進制形式顯示當前的掩碼。系統默認的掩碼是0022。