指令名稱 : chmod
使用權限 : 所有使用者
使用方式 :
chmod [-cfvR] [--help] [--version] mode file...
說明 : Linux/Unix 的檔案存取權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以控制檔案如何被他人所存取。
mode : 權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],
其中u 表示該檔案的擁有者,
g 表示與該檔案的擁有者屬于同一個群體(group)者,
o 表示其他以外的人,a 表示這三者皆是。
+ 表示增權重限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示隻有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
-c : 若該檔案權限确實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
範例 :将檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
将檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
将檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的
人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 設定為隻有該檔案擁有者可以執行 :
chmod u+x ex1.py
将目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數字來表示權限如 chmod 777 file
文法為:chmod abc file
其中a,b,c各為一個數字,分别表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。
範例:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的權限
指令名稱 : chown
使用權限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
說明 : Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以将檔案的擁
有者加以改變。一般來說,這個指令隻有是由系統管理者(root)所使用,一般使用者沒有權限可以
改變别人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設為别人。隻有系統管理者(root)才
有這樣的權限。
user : 新的檔案擁有者的使用者
IDgroup : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者确實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 隻對于連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
範例 :
将檔案 file1.txt 的擁有者設為 users 群體的使用者 jessie :
chown jessie:users file1.txt
将目前目錄下的所有檔案與子目錄的擁有者皆設為 users 群體的使用者 lamport :
chown -R lamport:users *
-rw------- (600) -- 隻有屬主有讀寫權限。
-rw-r--r-- (644) -- 隻有屬主有讀寫權限;而屬組使用者和其他使用者隻有讀權限。
-rwx------ (700) -- 隻有屬主有讀、寫、執行權限。
-rwxr-xr-x (755) -- 屬主有讀、寫、執行權限;而屬組使用者和其他使用者隻有讀、執行權限。
-rwx--x--x (711) -- 屬主有讀、寫、執行權限;而屬組使用者和其他使用者隻有執行權限。
-rw-rw-rw- (666) -- 所有使用者都有檔案讀、寫權限。這種做法不可取。
-rwxrwxrwx (777) -- 所有使用者都有讀、寫、執行權限。更不可取的做法。
以下是對目錄的兩個普通設定:
drwx------ (700) - 隻有屬主可在目錄中讀、寫。
drwxr-xr-x (755) - 所有使用者可讀該目錄,但隻有屬主才能改變目錄中的内容
suid的代表數字是4,比如4755的結果是-rwsr-xr-x
sgid的代表數字是2,比如6755的結果是-rwsr-sr-x
sticky位代表數字是1,比如7755的結果是-rwsr-sr-t
(當然7755這個chmod設定沒多大意義,這裡隻是示範一下)
安全性
通路控制:此程式應該作為“可信計算基”中的正常使用者程式安裝。
退出狀态
該指令傳回以下出口值:
指令執行成功并已執行所有請求的更改。
>0
發生錯誤。
示例
|
chgrp指令
功能:改變檔案或目錄所屬的組。
文法:chgrp [選項] group filename?
該指令改變指定指定檔案所屬的使用者組。其中group可以是使用者組ID,也可以是/etc/group檔案中使用者組的組名。檔案名是以空格分開的要改變屬組的檔案清單,支援通配符。如果使用者不是該檔案的屬主或超級使用者,則不能改變該檔案的組。
該指令的各選項含義為:
- R 遞歸式地改變指定目錄及其下的所有子目錄和檔案的屬組。
-c, --changes
like verbose but report only when a change is made
--dereference
affect the referent of each symbolic link (this is the default), rather than the sym-
bolic link itself
-h, --no-dereference
affect each symbolic link instead of any referenced file (useful only on systems that
can change the ownership of a symlink)
--no-preserve-root
do not treat `/' specially (the default)
--preserve-root
fail to operate recursively on `/'
-f, --silent, --quiet
suppress most error messages
--reference=RFILE
use RFILE's group rather than specifying a GROUP value
-R, --recursive
operate on files and directories recursively
-v, --verbose
output a diagnostic for every file processed
The following options modify how a hierarchy is traversed when the -R option is also speci-
fied. If more than one is specified, only the final one takes effect.
-H if a command line argument is a symbolic link to a directory, traverse it
-L traverse every symbolic link to a directory encountered
-P do not traverse any symbolic links (default)
--help display this help and exit
--version
output version information and exit
EXAMPLES
chgrp staff /u
Change the group of /u to "staff".
chgrp -hR staff /u
Change the group of /u and subfiles to "staff".
檢視現在aa檔案所屬組為clip:
[root@clip clip]# ls -l aa
total 32040
-rwxrwxr-x 1 clip clip 1260 Apr 26 14:05 aa
想更改為delijia
[root@clip clip]#chgrp delijia aa
[root@clip clip]# ls -l aa
-rwxrwxr-x 1 clip delijia 1260 Apr 26 14:05 aa
現在已經更改成功了
ls 隻列出檔案名或目錄名 就象windows裡的 清單
ll -t 是降序, ll -t | tac 是升序
ll不是指令,是ls -l的别名
ls 指令可以說是linux下最常用的指令之一。
-a 列出目錄下的所有檔案,包括以 . 開頭的隐含檔案。
-b 把檔案名中不可輸出的字元用反斜杠加字元編号(就象在C語言裡一樣)的形式列出。
-c 輸出檔案的 i 節點的修改時間,并以此排序。
-d 将目錄象檔案一樣顯示,而不是顯示其下的檔案。
-e 輸出時間的全部資訊,而不是輸出簡略資訊。
-f -U 對輸出的檔案不排序。
-g 無用。
-i 輸出檔案的 i 節點的索引資訊。
-k 以 k 位元組的形式表示檔案的大小。
-l 列出檔案的詳細資訊。
-m 橫向輸出檔案名,并以“,”作分格符。
-n 用數字的 UID,GID 代替名稱。
-o 顯示檔案的除組資訊外的詳細資訊。
-p -F 在每個檔案名後附上一個字元以說明該檔案的類型,“*”表示可執行的普通
檔案;“/”表示目錄;“@”表示符号連結;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可輸出的字元。
-r 對目錄反向排序。
-s 在每個檔案名後輸出該檔案的大小。
-t 以時間排序。
-u 以檔案上次被通路的時間排序。
-x 按列輸出,橫向排序。
-A 顯示除 “.”和“..”外的所有檔案。
-B 不輸出以 “~”結尾的備份檔案。
-C 按列輸出,縱向排序。
-G 輸出檔案的組的資訊。
-L 列對外連結接檔案名而不是連結到的檔案。
-N 不限制檔案長度。
-Q 把輸出的檔案名用雙引号括起來。
-R 列出所有子目錄下的檔案。
-S 以檔案大小排序。
-X 以檔案的擴充名(最後一個 . 後的字元)排序。
-1 一行隻輸出一個檔案。
--color=no 不顯示彩色檔案名
--help 在标準輸出上顯示幫助資訊。
--version 在标準輸出上輸出版本資訊并退出。
隻列出子目錄
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solari
解釋:
yee@Loong:~$ ls -al down.tar.gz
-rwxr-xr-x 1 yee yee 1179270691 08-06 13:20 down.tar.gz
3 4 5 6 7
是否目錄|屬主|屬組|other權限 所屬群組 檔案容量 最後修改時間 檔名
檔案屬性)
第一個屬性代表這個檔案是『目錄、檔案或連結檔案等等』:
當為[ d ]則是目錄;
當為[ - ]則是檔案;
若是[ l ]則表示為連結檔(link file);
若是[ b ]則表示為裝置檔案裡面的可供儲存的接口裝置;
若是[ c ]則表示為裝置檔案裡面的串行端口裝置,例如鍵盤、滑鼠。
下來,三個為一組,且均為『rwx』 的三個參數的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(excute)
r:4
w:2