linux命令:chmod(經常使用方法詳解)

linux chmod命令是在平常運維中比較經常使用的命令之一,對文件管理比較重要,如設置web目錄時需設置特定的權限以保證服務器安全。
提示:在寫完shell腳本後,咱們通常須要給這腳本設置權限:chmod a+x shell.sh
有不少人,特別是搞開發的程序員,不懂權限,對程序及目錄直接給予chmod -R 777 file,這種最高級的權限,對服務器安全會形成很大的安全隱患,通常不建議這樣設置,在線上服務器上,可配置chown來設置web目錄權限,如對用戶上傳圖片的目錄設置爲web執行用戶者的權限,對須要用程序操做的web中目錄,也一樣的設置:chown -R apache:apache web,其它只讀的文件或目錄,保持root權限便可,這樣能夠增長服務器安全性

        linux命令 : chmod
        使用權限 : 全部用戶
        使用方式 : chmod [-cfvR] [--help] [--version] mode file...
說明 : Linux/Unix 的文件調用權限分爲三級 : 文件擁有者[屬主]、屬組、其餘用戶。利用 chmod 能夠控制文件如何被他人所調用。
與chmod相關的命令:chown,umask,
  參數 :
  mode : 權限設定字串,格式以下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示該文件的擁有者[user],
g 表示與該文件的擁有者屬於組(group),
o 表示其餘用戶[other],
a 表示這三者皆是[all]。(經常使用)

+ 表示增長權限、(經常使用)
- 表示取消權限、(經常使用)
= 表示惟一設定權限。

r 表示有可讀取的權限,
w 表示有可寫入的權限,
x 表示有可執行的權限,
X 表示只有當該文件是個子目錄或者該文件已經被設定過爲可執行。

  -c : 若該文件權限確實已經更改,才顯示其更改動做
  -f : 若該文件權限沒法被更改也不要顯示錯誤訊息
  -v : 顯示權限變動的詳細資料
        -R : 對目前目錄下的全部文件與子目錄進行相同的權限變動  (經常使用)
        --help : 顯示幫助
        --version : 顯示版本

        r=4,
        w=2,
        x=1
  rwx屬性則4+2+1=7;
     rw-屬性則4+2=6;
  r-x屬性則4+1=5。


[root@linuxyw linux]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 29 14:50 linuxyw
-rw-r--r-- 1 root root   36 Apr 27 23:40 linuxyw.com
-rw-r--r-- 1 root root    0 Apr 29 14:46 www.linuxyw.com

示例:給文件修改全部爲全部人可讀權限:
chmod ugo+r linuxyw.com

chmod a+r linuxyw.com
給文件修改全部爲全部人可執行權限:
chmod a+x linuxyw.com
給文件修改全部爲文件屬主用戶可執行權限:
chmod u+x linuxyw.com
把linuxyw目錄下的文件設置爲全部人可執行權限:
chmod -R a+x linuxyw/
把linuxyw目錄下的文件所有設置爲755權限:
chmod -R 755 linuxyw/
取消linux目錄下的全部文件可寫權限:
chmod -R a-w  linuxyw/


先看一下文件的權限格式先看一下文件的權限格式
[root@linuxyw linux]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 29 14:50 linuxyw
-rw-r--r-- 1 root root   36 Apr 27 23:40 linuxyw.com
-rw-r--r-- 1 root root    0 Apr 29 14:46 www.linuxyw.com

ll的結果返回七列,分別表示以下含義:
第一欄  [文件屬性]
第二欄  [文件數]
第三欄  [擁有者]
第四欄  [全部者羣組]
第五欄  [大小]
第六欄  [建檔日期]
第七欄  [檔名]
咱們設置文件的權限就是這是第一欄裏的文件屬性。
 
文件屬性這塊共有十個字段,如:drwxr-xr-x
 
咱們把這10個列分紅4塊:[d] [rwx] [r-x] [r-x]
第一塊:也就是第一列,用來表示這個文件的類型,有以下值:
       (1)[ d ]則是目錄,我這裏的是d,表示的是一個目錄
       (2)[ - ]則是文件;
       (3)[ l ]則表示爲連結檔(link file);
       (4)[ b ]則表示爲裝置文件裏面的可供儲存的接口設備;
       (5)[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標。
第二塊:第 2到4 列,表示文件擁有者的權限。
第三塊:第5到7 列,表示擁有者同組人的權限。
第四塊:第8到10列,表示是非擁有者組人的權限。
     這些權限均有[rwx] 三個參數表示,並且分別對應不一樣的位置。每塊由3個列組成,每列對應一個值。 [ r ]表明可讀、[ w ]表明可寫、[ x ]表明可執行。
       舉例: 若是擁有者只有只讀的權限,那麼第2到4列就是[r--],有讀寫的權限就是[rw-],有讀寫和執行的權利就是[rwx].
使用數字賦權的命令格式以下:
       chmod abc filename
其中的abc 分別表明3個數字,而且分別對應問個不一樣的屬組。 即:
       數字a 對應 第2到4位,表示擁有者的權限。
       數字b 對應 第5到7位,表示同組用戶的權限。
       數字c 對應第8到10位,表示其餘組的權限。
 
       rwx 對應4,2,1. 那麼只讀的權限用4表示[r--],讀寫用6(4+2)表示[rw-],寫加執行用7(4+2+1)表示[rwx]。 只讀加執行用5(4+1)表示[r-x]。
 
示例:
       chmod 755 file1
       chmod 777 file1 <==> chmod a=rwx file 
       chmod 771 file  <==> chmod ug=rwx,o=x file
linux

相關文章
相關標籤/搜索