一. 概述
如果創建了一個目錄或文件,有時會需要改變它的安全性設置,在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,如下圖所示