天天看點

linux chown和chmod詳解

chown 指令使用詳解 功能:更改某個檔案或目錄的屬主和屬組。這個指令也很常用。例如root使用者把自己的一個檔案拷貝給使用者xu,為了讓使用者xu能夠存取這個檔案,root使用者應該把這個檔案的屬主設為xu,否則,使用者xu無法存取這個檔案。 

文法:chown [選項] 使用者或組 檔案

說明:chown将指定檔案的擁有者改為指定的使用者或組。使用者可以是使用者名或使用者I D。組可以是組名或組ID。檔案是以空格分開的要改變權限的檔案清單,支援通配符。 該指令的各選項含義如下: 

-R 遞歸式地改變指定目錄及其下的所有子目錄和檔案的擁有者。

-v 顯示chown指令所做的工作。

指令執行個體: 

chown wang shiyan.c

% 把檔案shiyan.c的所有者改為wang。

chown - R wang.users /his

% 把目錄/his及其下的所有檔案和子目錄的屬主改成wang,屬組改成users。

---------------------------------------------------------------------------

chmod 指令使用詳解 

chmod用于改變檔案或目錄的通路權限。使用者用它控制檔案或目錄的通路權限。

該指令有兩種用法。一種是文字設定法;另一種是數字設定法。

1. 文字設定法

文法:chmod [who] [+ | - | =] [mode] 檔案名

指令中各選項的含義為:

    操作對象who是下述字母中的任一個或者它們的組合:

  u 表示“使用者(user)”,即檔案或目錄的所有者。

  g 表示“同組(group)使用者”,即與檔案屬主有相同組ID的所有使用者。

  o 表示“其他(others)使用者”。

  a 表示“所有(all)使用者”。它是系統預設值。

    操作符号可以是:

  + 添加某個權限。

  - 取消某個權限。

  = 賦予給定權限并取消其他所有權限(如果有的話)。

   設定 mode 所表示的權限可用下述字母的任意組合:

  r 可讀。

  w 可寫。

    x 可執行。

  X 隻有目标檔案對某些使用者是可執行的或該目标檔案是目錄時才追加x 屬性。

  s 在檔案執行時把程序的屬主或組ID置為該檔案的檔案屬主。

       方式“u+s”設定檔案的使用者ID位,“g+s”設定組ID位。

  t 儲存程式的文本到交換裝置上。

  u 與檔案屬主擁有一樣的權限。

  g 與和檔案屬主同組的使用者擁有一樣的權限。

  o 與其他使用者擁有一樣的權限。

    檔案名:以空格分開的要改變權限的檔案清單,支援通配符。

  

        在一個指令行中可給出多個權限方式,其間用逗号隔開。例如:

        chmod g+r,o+r example   % 使同組和其他使用者對檔案example 有讀權限。

2. 數字設定法

    我們必須首先了解用數字表示的屬性的含義:0表示沒有權限,1表示可執行權限, 2表示可寫權限,4表示可讀

    權限,然後将其相加。是以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。

  請看下面的示例

  -----------------------------------------

    u                g            o

    rwx          r-x        r--

    111            101        100            

    -----------------------------------------

  執行個體:

  (1)chmod a+x sort  

      設定檔案sort的屬性為:

     檔案屬主(u) 增加執行權限

      與檔案屬主同組使用者(g) 增加執行權限

      其他使用者(o) 增加執行權限

    (2)chmod ug+w,o-x text

         設定檔案text的屬性為:

         檔案屬主(u) 增加寫權限

         與檔案屬主同組使用者(g) 增加寫權限

         其他使用者(o) 删除執行權限

    (3)chmod u+s a.out

     假設執行chmod後a.out的權限為(可以用ls – l a.out指令來看):

     –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out

     并且這個執行檔案要用到一個文本檔案shiyan1.c,其檔案存取權限為“–rw-------”,

       即該檔案隻有其屬主具有讀寫權限。

        當其他使用者執行a.out這個程式時,他的身份因這個程式暫時變成inin(由于chmod指令中使用了s選項),

        是以他就能夠讀取shiyan1.c這個檔案(雖然這個檔案被設定為其他人不具備任何權限),這就是s的功能。

  是以,在整個系統中特别是root本身,最好不要過多的設定這種類型的檔案(除非必要)這樣可以保障系統的安全,避免因為某些程式的bug而使系統遭到入侵。

    (4)chmod a–x mm.txt

    (5)chmod –x mm.txt

    (6)chmod ugo–x mm.txt

    以上這三個指令都是将檔案mm.txt的執行權限删除,它設定的對象為所有使用者。

    (7)chmod 644 mm.txt

        即設定檔案mm.txt的屬性為:-rw-r--r--

     檔案屬主(u)inin 擁有讀、寫權限與檔案屬主同組人使用者(g) 擁有讀權限其他人(o) 擁有讀權限

    (8)chmod 750 wch.txt