基本許可權管理 許可權的介紹 許可權位的含義 前面講解ls命令時,我們已經知道長格式顯示的第一列就是文件的許可權,例如: [root@es ~]# ls -l anaconda-ks.cfg -rw . 1 root root 1573 May 18 23:28 anaconda-ks.cfg 第一位為文件 ...
基本許可權管理
許可權的介紹
許可權位的含義
前面講解ls命令時,我們已經知道長格式顯示的第一列就是文件的許可權,例如:
[root@es ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1573 May 18 23:28 anaconda-ks.cfg
第一位為文件類型
文件類型標識 | 文件類型 |
---|---|
- | 普通文件 |
d | 目錄文件 |
l | 軟鏈接文件 |
s(偽文件) | 套接字文件 |
b(偽文件) | 塊設備文件 |
c(偽文件) | 字元設備文件 |
p(偽文件) | 管道符文件 |
第一列的許可權位如果不計算最後的 "." (這個點的含義我們在後面解釋),則共有10位,這10位許可權位的含義如圖所示。
基本許可權介紹
修改許可權的命令 chmod
,基本信息如下
命令格式
[root@es ~]#chmod [選項] 許可權模式 文件名
選項:
-R : 遞歸設置許可權,也就是給子目錄中的所有文件設定許可權
許可權模式
chmod 命令的許可權模式的格式時"[ugoa][[+-=][perms]]",也就是“[用戶身份][[賦予方式][許可權]]”的格式
-
用戶身份:
-
u:代表所有者(user)
-
g:代表所屬組(group)
-
o:代表其他人(other)
-
a:代表全部身份(all)
-
-
賦予方式:
-
+:加入許可權
-
-:減去許可權
-
=:設置許可權
-
-
許可權:
-
-r:讀取許可權(read)
-
-w:寫許可權(write)
-
-x:執行許可權(execute)
-
數字許可權
數字許可權的賦予方式是最簡單的,但是不如之前的字母許可權好記,直觀。我們來看看這些數字許可權的含義。
-
4:代表"r"許可權
-
2:代表"w"許可權
-
1:代表"x"許可權
常用許可權
數字許可權的賦予方式更加簡單,但是需要用戶對這幾個數字更加熟悉。其實常用許可權也並不多,只有如下幾個。
-
644:這是文件的基本許可權,代表所有者擁有讀,寫許可權,而所屬組和其他人擁有隻讀許可權。
-
755:這是文件的執行許可權和目錄的基本許可權,代表所有者擁有讀,寫和執行許可權,而所屬組和其他人擁有讀和執行許可權。
-
777:這時最大許可權。在實際的生產伺服器中,要儘力避免給文件或目錄賦予這樣的許可權,這會造成一定的安全隱患。
基本許可權的作用
許可權含義的解釋
首先,讀,寫,執行許可權對文件和目錄的作用是不同的。
-
許可權對文件的作用
-
讀(r):對文件有讀(r)許可權,代表可以讀取文件中的數據。如果把許可權對應到命令上,那麼一旦對文件有讀(r)許可權,就可以對文件執行cat,more,less,head,tail等文件查看命令。
-
寫(w):對文件有寫(w)許可權,代表可以修改文件中的數據。如果把許可權對應到命令上,那麼一旦對文件有寫(w)許可權,就可以對文件執行vim,echo等修改文件數據的命令。註意:對文件有寫許可權,是不能刪除文件本身的,只能修改文件中的數據。如果要想刪除文件,則需要對文件的上級目錄擁有寫許可權。
-
執行(x):對文件有執行(x)許可權,代表文件擁有了執行許可權,可以運行。在Linux中,只要文件有執行(x)許可權,這個文件就是執行文件了。只是這個文件到底能不能正確執行,不僅需要執行(x)許可權,還要看文件中代碼是不是正確的語言代碼。文件夾來說,執行(x)許可權是最高許可權。
-
-
許可權對目錄的作用
-
讀(r):對目錄有讀(r)許可權,代表可以查看目錄下的內容,也就是可以查看目錄下有哪些子文件和子目錄。如果把許可權對應到命令上,那麼一旦對目錄擁有了讀(r)許可權,就可以在目錄下執行ls命令,查看目錄下的內容
-
寫(w):對目錄有寫(r)許可權,代表可以修改目錄下的數據,也就是可以在目錄中新建,刪除,複製,剪切子文件或子目錄。如果把許可權對應到命令上,那麼一旦目錄擁有了寫(w)許可權,就可以在目錄下執行touch,rm,cp,mv命令。對目錄來說寫(w)許可權是最高許可權。
-
執行(x):目錄是不能運行的,那麼對目錄擁有執行(x)許可權,代表可以進入到目錄。如果把許可權對應到命令上,那麼一旦對目錄擁有了執行(x)許可權,就可以對目錄執行cd命令,進入目錄。
-
目錄的可用許可權
目錄的可用許可權其實有以下幾個
-
0:任何許可權都不賦予
-
5:基本的目錄瀏覽和進入許可權
-
7:完全許可權
所有者和所屬組命令
chown命令
修改許可權的命令 chown
,基本信息如下
[root@es ~]#chown [選項] 所有者:所屬組 文件或目錄
選項:
-R : 遞歸設置許可權,也就是給子目錄中的所有文件設定許可權
普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行,只有超級用戶才能修改
普通用戶可以修改所有者是自己的文件的許可權=
umask 預設許可權
查看系統的umask許可權
#用八進位數值顯示umask許可權
[root@centos7 ~]# umask
0022
#用字母表示文件和目錄的初始許可權
[root@centos7 ~]# umask -S
u=rwx,g=rx,o=rx
umask許可權的計算方法
我們需要先瞭解一下新建文件和目錄的預設最大許可權
-
對文件來講,新建文件的預設最大許可權是666,沒有執行(x)許可權。這時因為執行許可權對文件來講比較危險,不能在新建文件的時候預設賦予,而必須通過用戶手工賦予。
-
文件的預設許可權最大隻能是666,而umask的值是022
"-rw-rw-rw-"減去"-----w--w-" 等於"-rw-r--r--" -
對目錄來講,新建文件的預設最大許可權是777。這時因為對目錄而言,執行(x)許可權僅僅代表進入目錄,所以即使建立新文件時直接預設賦予,也沒有什麼危險。
-
目錄的權人許可權最大隻能是777,而umask的值是022
"drwxrwxrwx" 減去 "d----w--w-" 等於 "drwx-r-xr-x"
寫在最後
如果文檔對你有幫助的話,留個贊再走吧 ,你的點擊是我的最大動力。
我是鍵盤俠,現實中我唯唯諾諾,網路上我重拳出擊,關註我,持續更新Linux乾貨教程。
更多鍵盤俠Linux系列教程:鏈接地址
更多Linux乾貨教程請掃: