1. 程式人生 > >鍵盤俠Linux教程(五)| 基本許可權管理

鍵盤俠Linux教程(五)| 基本許可權管理

# 基本許可權管理 ## 許可權的介紹 ### 許可權位的含義 前面講解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位許可權位的含義如圖所示。 ![許可權_01](https://ylighgh.gitee.io/blogparkcdn/images/許可權_01.jpeg) ## 基本許可權介紹 修改許可權的命令 `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系列教程:[連結地址](https://www.cnblogs.com/MrKeyboard/category/1786086.html) 更多Linux乾貨教程請掃: ![wechatmansearch](https://ylighgh.gitee.io/blogparkcdn/images/wechatmansea