歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> linux系統入門學習(54)

linux系統入門學習(54)

日期:2017/2/25 10:32:21   编辑:Linux教程

chmod
1.作用
chmod命令是非常重要的,用於改變文件或目錄的訪問權限,用戶可以用它控制文件或目錄的訪問權限,使用權限是超級

用戶。
2.格式
chmod命令有兩種用法。一種是包含字母和操作符表達式的字符設定法(相對權限設定);另一種是包含數字的數字設定

法(絕對權限設定)。
(1)字符設定法
chmod [who] [+ | - | =] [mode] 文件名
◆操作對象who可以是下述字母中的任一個或它們的組合
u:表示用戶,即文件或目錄的所有者。
g:表示同組用戶,即與文件屬主有相同組ID的所有用戶。
o:表示其它用戶。
a:表示所有用戶,它是系統默認值。
◆操作符號
+:添加某個權限。
-:取消某個權限。
=:賦予給定權限,並取消其它所有權限(如果有的話)。
◆設置mode的權限可用下述字母的任意組合
r:可讀。
w:可寫。
x:可執行。
X:只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
s:文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t:保存程序的文本到交換設備上。
u:與文件屬主擁有一樣的權限。
g:與和文件屬主同組的用戶擁有一樣的權限。
o:與其它用戶擁有一樣的權限。
文件名:以空格分開的要改變權限的文件列表,支持通配符。
一個命令行中可以給出多個權限方式,其間用逗號隔開。
(2) 數字設定法
數字設定法的一般形式為: chmod [mode] 文件名
數字屬性的格式應為3個0到7的八進制數,其順序是(u)(g)(o)文件名,以空格分開的要改變權限的文件列表,支持通配符。
數字表示的權限的含義如下:0001為所有者的執行權限;0002為所有者的寫權限;0004為所有者的讀權限;0010為組的

執行權限;0020 為組的寫權限;0040為組的讀權限;0100為其他人的執行權限;0200為其他人的寫權限;0400為其他

人的讀權限;1000為粘貼位置 位;2000表示假如這個文件是可執行文件,則為組ID為位置位,否則其中文件鎖定位置位

;4000表示假如這個文件是可執行文件,則為用戶ID為位置 位。
3.實例
如果一個系統管理員寫了一個表格(tem)讓所有用戶填寫,那麼必須授權用戶對這個文件有讀寫權限,可以使用命令:#

chmod 666 tem
上面代碼中,這個666數字是如何計算出來的呢?0002為所有者的寫權限,0004為所有者的讀權限,0020為組的寫權限,

0040為組的讀權 限, 0200為其他人的寫權限,0400為其他人的讀權限,這6個數字相加就是666(注以上數字都是八進

制數),結果見圖1所示。
圖1 用chmod數字方法設定文件權限
從圖1可以看出,tem文件的權限是-rw-rw-rw-,即用戶對這個文件有讀寫權限。
如果用字符權限設定使用下面命令:
#chmod a =wx tem

Copyright © Linux教程網 All Rights Reserved