Linux編程 17 文件權限(權限設置chmod,改變文件屬主屬組關系chown,chgrp)


一. 概述

  如果創建了一個目錄或文件,有時會需要改變它的安全性設置,在linux系統上有一些工具可以完成這任務,包括使用chmod命令改變已有默認權限,分別能對屬主,屬組,其它用戶的權限的控制分別以讀取、寫入、執行3種權限來區分設置,還有使用chown,chgrp來改變默認屬主屬組關系。

  1 . 改變權限 chmod
    
chmod命令用來改變文件和目錄安全性設置,該命令的三種用法格式如下:
      

    model模式參數可以使用八進制或符號模式進行安全性設置,八進制模式設置非常直觀,直接用期望賦予文件的標准3位八進制權限碼即可。符號模式的權限在設置上就復雜多了,就不講了,下面來看如何讀懂八進制。

    1.1 八進制 模式
      八進制模式是指:先取得權限(rwx)的值,然后將其轉換成3位二進制值,這二進制值用一個8進制值來表示。 然后組合的3個8進制值分別代表屬主,屬組,其它用戶的權限。

權限

二進制值

八進制值

描述

---

000

0

沒有任何權限

--x

001

1

執行權限

-w-

010

2

寫入權限

-wx

011

3

寫入和執行權限

r--

100

4

讀取權限

r-x

101

5

讀取和執行權限

rw-

110

6

讀取和寫入權限

rwx

111

7

全部權限

      通過上面表格說明,我們就能根據文件和目錄需要的權限來組合八進制值。例如舉列:
      如果目錄或文件的八進制,組合值為777,代表所有用戶都有讀,寫,執行權限。

      如果目錄或文件的八進制,組合值為666,代表所有用戶都有讀,寫權限。

      如果目錄或文件的八進制,組合值為744,代表屬主有讀,寫,執行權限。屬組有讀權限,其它用戶有讀權限。

      如果目錄或文件的八進制,組合值為740,代表屬主有讀,寫,執行權限。屬組有讀權限,其它用戶沒有任何權限。

    1.2   演示文件權限

      下面創建一個file1.txt文件,默認權限是:屬主有讀寫權限,屬組和其它用戶有只讀權限。如下圖所示:
        |

      使用屬主root用戶操作file1.txt,有寫讀權限,如下圖所示:
        
      使用其它用戶hsr,操作file1.txt, 只有讀權限,如下圖所示:
        
      切換到root用戶下,使用chmod命令,增加其它用戶寫入權限,設置如下圖所示:
        
      切換到其它用戶hsr,操作file1.txt,此時有了讀和寫的權限,如下圖所示:
        

 

  2. 改變屬主關系

    有時需要改變文件的屬主,比如:有人離職要改變屬主,或者文件要改變到屬主下。在linux中提供了兩個命令一是chown命令用來改變文件的屬主。二是chgrp命令用來改變文件的默認屬組。

    2.1 chown
      使用chown來改變文件的屬主,可以用登錄名或UID來指定文件的新屬主。之前在安裝mysql時,使用chown -R將/usr/local/mysql目錄下的所有文件和目錄。屬主改為了mysql用戶和屬組為mysql組。如下圖所示:

        
      chown的-R選項可以遞歸改變子目錄和文件的所屬關系。-h選擇可以改變文件的所有符號鏈接文件的所屬關系。

        (1)   修改屬主關系,在root用戶下創建,默認是root屬主,使用chown -R修改屬主為hsr,如下圖所示:
        
        (2)   修改屬主和屬組關系。在root用戶下創建,默認是root屬組,使用chown -R修改屬組為hsr, 注意hsr.hsr第二個hsr 是組名。如下圖所示:
        
     2.2 chgrp

       上面使用root用戶在創建文件時,默認的屬組是root組,使用了chown來改變了屬組,下面使用chgrp命令也可以改變默認屬組,如下將file文件默認屬主改為root,如下圖所示
        

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM