Linux基礎命令之: Linux常用命令
7.chmod
(1)作用。
改變文件的訪(fǎng)問(wèn)權限。
(2)格式。
chmod可使用符號標記進(jìn)行更改和八進(jìn)制數指定更改兩種方式,因此它的格式也有兩種不同的形式。
①符號標記:chmod[選項]…符號權限[符號權限]…文件
其中的符號權限可以指定為多個(gè),也就是說(shuō),可以指定多個(gè)用戶(hù)級別的權限,但它們中間要用逗號分開(kāi)表示,若沒(méi)有顯式指出則表示不作更改。
②八進(jìn)制數:chmod[選項]…八進(jìn)制權限文件…
其中的八進(jìn)制權限是指要更改后的文件權限。
(3)選項參數。
chmod主要選項參數如表2.16所示。
表2.16 chmod命令常見(jiàn)參數列表
選項 | 參數含義 |
-c | 若該文件權限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作 |
-f | 若該文件權限無(wú)法被更改也不要顯示錯誤信息 |
-v | 顯示權限變更的詳細資料 |
(4)使用實(shí)例。
chmod涉及文件的訪(fǎng)問(wèn)權限,在此對相關(guān)的概念進(jìn)行簡(jiǎn)單的回顧。
在1.3.1節中已經(jīng)提到,文件的訪(fǎng)問(wèn)權限可表示成:-rwxrwxrwx。在此設有3種不同的訪(fǎng)問(wèn)權限:讀(r)、寫(xiě)(w)和運行(x)。3個(gè)不同的用戶(hù)級別:文件擁有者(u)、所屬的用戶(hù)組(g)和系統里的其他用戶(hù)(o)。在此,可增加一個(gè)用戶(hù)級別a(all)來(lái)表示所有這3個(gè)不同的用戶(hù)級別。
①第一種符號連接方式的chmod命令中,用加號“+”代表增加權限,用減號“−”代表刪除權限,等于號“=”代表設置權限。
例如,原先筆者系統中有文件uClinux20031103.tgz,其權限如下所示。
[root@localhosttest]#ls–l
-rw-r--r--1rootroot79708616Mar242005uClinux20031103.tgz
[root@localhosttest]#chmoda+rx,u+wuClinux20031103.tgz
[root@localhosttest]#ls–l
-rwxr-xr-x1rootroot79708616Mar242005uClinux20031103.tgz
可見(jiàn),在執行了chmod之后,文件擁有者除擁有所有用戶(hù)都有的可讀和執行的權限外,還有可寫(xiě)的權限。
②對于第二種八進(jìn)制數指定的方式,將文件權限字符代表的有效位設為“1”,即“rw-”、“rw-”和“r--”的八進(jìn)制表示為“110”、“110”、“100”,把這個(gè)二進(jìn)制串轉換成對應的八進(jìn)制數就是6、6、4,也就是說(shuō)該文件的權限為664(三位八進(jìn)制數)。這樣對于轉化后八進(jìn)制數、二進(jìn)制及對應權限的關(guān)系如表2.17所示。
表2.17 轉化后八進(jìn)制數、二進(jìn)制及對應權限的關(guān)系
轉換后八進(jìn)制數 | 二進(jìn)制 | 對應權限 | 轉換后八進(jìn)制數 | 二進(jìn)制 | 對應權限 |
0 | 000 | 沒(méi)有任何權限 | 1 | 001 | 只能執行 |
2 | 010 | 只寫(xiě) | 3 | 011 | 只寫(xiě)和執行 |
4 | 100 | 只讀 | 5 | 101 | 只讀和執行 |
6 | 110 | 讀和寫(xiě) | 7 | 111 | 讀、寫(xiě)和執行 |
同上例,原先筆者系統中有文件genromfs-0.5.1.tar.gz,其權限如下所示。
[root@localhosttest]#ls–l
-rw-rw-r--1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
[root@localhosttest]#chmod765genromfs-0.5.1.tar.gz
[root@localhosttest]#ls–l
-rwxrw-r-x1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
可見(jiàn),在執行了chmod765之后,該文件的擁有者權限、文件組權限和其他用戶(hù)權限都恰當地對應了。
(5)使用說(shuō)明
n 使用chmod必須具有root權限。
想一想 | chmodo+xuClinux20031103.tgz是什么意思?它所對應的八進(jìn)制數指定更改應如何表示? |
評論