首先明確的是 權限的分類: 普通權限,特殊權限centos
對於普通權限無非就是對MODE的修改,即對r,w,x(可讀,可寫,可執行)更改。ide
那麼r,w,x對於文件和目錄也是有區分的:ui
在目錄中:spa
r:可使用ls命令得到其中全部的文件名的列表;不能ls -l命令來獲取目錄中文件的詳細的屬性信息,也不能使用cd命令進入其中,也不能在路徑中引用該目錄;遞歸
w:能夠修改此目錄中的文件名或文件名列表,即;能夠在此目錄中建立、修改或刪除文件名;進程
x:可使用ls -l命令來獲取其中的文件的詳細屬性信息;也能夠在路徑中引用該目錄;也可使用cd命令來進入其中資源
在文件中:it
r:能夠查看或獲取該文件中存放的數據io
w:能夠修改文件中存放的數據class
x:能夠將此文件發起運行爲進程
對r,w,x表示有不一樣的標識法即:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
那麼對於修改這些權限的操做命令chmod 可藉助+,-,=來使用分別表明:
+:在原有的權限基礎上添加新的權限;
-:在原有的權限基礎上取出某些權限;
=:不考慮原有權限,直接將權限設置爲目標權限;
舉幾個例子說:
chmod u+w file
chmod g+rw file
chmod u+x,g-wx,o-x file
chmod u=rw,g=r,o=r file
chmod ug-x file
chmod +x file 默認爲a添加執行權限
chmod +w file 默認的只爲屬主添加寫權限
OWNERSHIP:全部權
(u)屬主:資源掌控的某個特定用戶;owner(user);u
(g)屬組:資源掌控的某些特定用戶;group;g
(o)其餘用戶:不曾掌控資源的那些用戶;other;o
(a)所有用戶:all;a
除了這些chmod還有幾個個經常使用的選項
1.chmod [OPTION]... OCTAL-MODE FILE...
意思是說使用八進制數字標識法來表示權限,須要注意的是使用這種方法的時候要給足全部的權限位,若是給的不完整,文件系統會自動補足,將給定的權限放置在右側,左側用0來補。
2.chmod [OPTION]... --reference=RFILE FILE...
舉個例子說 # chmod --reference=a b
表示把當前目錄下的b文件參考a文件設置權限
3.-R,--recursive 這個指的是將目標目錄中的文件及目錄和子目錄中的文件統一的設置爲指定的權限標識(相似於遞歸的選項)
舉個例子:# chmod 640 -R /tmp/centos/*
表示:將目錄/tmp/centos/下的文件的權限統一設置爲640
有時候只靠chmod命令還不能完全的更改的文件的使用權限爲了方便還須要藉助chown命令來改變它的屬主,屬組:
1. chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown OWNER FILE 只修改屬主
chown :GROUP FILE 只修改屬組
chown OWNER: FILE //將目標文件的屬主改成OWNER,同時將屬組修改成OWNER的基本組;
chown OWNER:GROUP FILE //將目標萬能鍵的屬組和屬組修改成OWNER和GROUP
2. chown [OPTION]... --reference=RFILE FILE...
這裏的--reference跟chmod中的用法是同樣的。
3.-R,--recursive:將目標目錄中的文件及目錄和子目錄中的文件統一的設置爲指定的全部權。
還有個命令install這個命令即安裝,複製文件:爲文件賦予執行權限
單源複製:
install [OPTION]... [-T] SOURCE DEST
多源複製
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
建立目錄
install [OPTION]... -d DIRECTORY...
經常使用的選項:
-m:指定目標文件的權限。默認爲755
-g:設定目標文件的屬主,只能是root可用
-o:設定目標文件的屬主,只能是root用戶可用
還有就是文件的特殊權限:SUID、SGID、STICKY
SUID:當用戶發起執行一個進程時,該程序文件若是擁有SUID權限的話,那麼此程序發起的進程其屬主爲該程序文件的屬主,而不是其發起者;(好比說普通用戶修改本身的密碼的時候用的passwd命令。)
SUID權限所顯示的位置:文件的屬主權限中的執行權限位;若是屬主原本就有執行權限,則顯示爲s;不然,顯示爲S;
SGID:若是某個目錄對於一些用戶有寫權限,而且設置了SGID權限時,則全部對此目錄有寫權限的用戶在建立新的文件或目錄之後,新文件的屬組再也不是建立用戶的基本組,而是集成了該目錄的屬組;
SGID權限顯示的位置;文件的屬組權限中的執行權限位;若是屬組原本就有執行權限,顯示爲s;不然顯示爲S
修改文件的特殊權限也是用chmod命令:
chmod g+|-s FILE...(添加或刪除s)
STICKY:sticky(粘性的)粘滯位
STICKY的功能做用:
若是爲上述相似的目錄設置了STICKY權限,則每一個用戶仍舊可以建立和修改文件名,但每一個用戶只能刪除那些屬主爲其自身的文件名;
STICKY權限的顯示位置:在文件權限的其餘用戶的執行權限位;若是原來就有執行權限,則顯示爲t;不然顯示爲T
依然有 chmod o+|-t FILE
suid sgid sticky
--- 000 0
--t 001 1
-s- 010 2
-st 011 3
s-- 100 4
s-t 101 5
ss- 110 6
sst 111 7