1. 程式人生 > >Linux 檢視以及修改檔案或資料夾的許可權

Linux 檢視以及修改檔案或資料夾的許可權

1. linux下修改檔案使用者組

  • chgrp: change group的簡寫,修改檔案所屬的使用者組。

    chgrp users test.log

  • 修改後檢視 ls -l

    -rwxrwx— 1 work users 0 Jun 8 15:46 test.log

  • 如果要修改該目錄下所有檔案和目錄,使用-R引數。

    chgrp -R users test

  • 要被改變的group名,必須在 /etc/group 檔案中。 /etc/group檔案記錄系統中所有的組名稱。

2. linux下修改檔案所有者

  • chown :change owner的簡寫, 修改檔案的所有者。

    chown [-R] 賬號名稱 檔案或目錄

  • -R 遞迴,將子目錄下檔案全部修改。 將檔案所有者修改bin

    chown bin test.log

  • 修改的使用者必須在/etc/passwd檔案中 /etc/passwd記錄使用者資訊。 chown還可以修改組名稱將
    所有者和組名稱都修改為root。

    chown root:root test.log

    3.Linux系統下檢視檔案或資料夾的許可權:

    1)在終端輸入:
    ls -l xxx.xxx (xxx.xxx是檔名)
      那麼就會出現相類似的資訊,主要都是這些:
    -rw-rw-r–
    如下圖:
    在這裡插入圖片描述
    一共有10位數
      其中: 最前面那個 - 代表的是型別,如果是目錄,最前面這個是d
      中間那三個 rw- 代表的是所有者(user)
      然後那三個 rw- 代表的是組群(group)
      最後那三個 r-- 代表的是其他人(other)
      然後我再解釋一下後面那9位數:
      r 表示檔案可以被讀(read)
      w 表示檔案可以被寫(write)
      x 表示檔案可以被執行(如果它是程式的話)
      - 表示相應的許可權還沒有被授予  現在該說說修改檔案許可權了:
      在終端輸入:
      
      chmod o+w

    檔名xxx.xxx
      
      表示給其他人授予寫xxx.xxx這個檔案的許可權
      
      chmod go-rw 檔名xxx.xxx
      
      表示刪除xxx.xxx中組群和其他人的讀和寫的許可權  其中:
      u 代表所有者(user)
      g 代表所有者所在的組群(group)
      o 代表其他人,但不是u和g (other)
      a 代表全部的人,也就是包括u,g和o
      r 表示檔案可以被讀(read)
      w 表示檔案可以被寫(write)
      x 表示檔案可以被執行(如果它是程式的話)
      其中:rwx也可以用數字來代替
      r ------------4
      w ------------2
      x ------------1
      - ------------0  行動:
      + 表示新增許可權
      - 表示刪除許可權
      = 表示使之成為唯一的許可權  當大家都明白了上面的東西之後,那麼我們常見的以下的一些許可權就很容易都明白了:
      -rw------- (600) 只有所有者才有讀和寫的許可權
      -rw-r–r-- (644) 只有所有者才有讀和寫的許可權,組群和其他人只有讀的許可權
      -rwx------ (700) 只有所有者才有讀,寫,執行的許可權
      -rwxr-xr-x (755) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有讀和執行的許可權
      -rwx–x--x (711) 只有所有者才有讀,寫,執行的許可權,組群和其他人只有執行的許可權
      -rw-rw-rw- (666) 每個人都有讀寫的許可權
      -rwxrwxrwx (777) 每個人都有讀寫和執行的許可權 等效寫法:

     	chmod u+rw xxx.xxx  =  chmod 600 xxx.xxx
     	chmod a+r xxx.xxx  =  chmod 444 xxx.xxx
    
  • 如果要加上特殊許可權,就必須使用4位數字才能表示。特殊許可權的對應數值為:
    s或 S (SUID):對應數值4。
    s或 S (SGID):對應數值2。
    t或 T :對應數值1。 用同樣的方法修改檔案許可權就可以了
    chmod 7600 xxx.xxx 想一次修改某個目錄下所有檔案的許可權,包括子目錄中的檔案許可權也要修改,要使用引數-R表示啟動遞迴處理。
    例如:

    chmod 777 /home/user 注:僅把/home/user目錄的許可權設定為rwxrwxrwx
    chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的檔案和子目錄的許可權都設定為rwxrwxrwx

  • 使用命令chown改變目錄或檔案的所有權
    檔案與目錄不僅可以改變許可權,其所有權及所屬使用者組也能修改,和設定許可權類似,使用者可以通過圖形介面來設定,或執行chown命令來修改。
    1. chown user xxx.xxx要改變所屬組,可使用下面命令:
    2.chown :users xxx.xxx要同時改變所屬使用者和組:
    3.chown user:usergroup xxx.xxx要修改目錄及子目錄的許可權,使用-R引數就可以了,方法和前面一樣。