天天看點

Linux基礎學習——使用者權限管理

權限管理:

程序安全上下文: 程序對檔案的通路權限應用模型:

程序的屬主與檔案的屬主是否相同,如果相同,則應用屬主權限,否則則檢查程序的屬主(發起者)是否屬于檔案的屬組,如果是,則應用屬組權限,否則,就隻能應用other的權限

權限:
     r:readable,讀
     w:writeable,寫
     x:excuteable,執行
 
     檔案:
         r:可擷取檔案的資料
         w:可修改檔案的資料
         x:可将此檔案運作為程序
     目錄:
         r:可使用ls指令擷取其下的所有檔案清單
         w:可修改此目錄下的檔案清單,即建立或删除檔案
         x:可cd至此目錄中,且可使用ls -l 來擷取所有檔案的詳細屬性
 
     mode:rwxrwxrwx
     ownership:user,group
 ​
 ​           

權限管理指令

  • chmod指令
- chmod [OPTION]... MODE[,MODE]... FILE..
  - chmod [OPTION]... OCTAL-MODE FILE...
  - chmod [OPTION]... --reference=RFILE FILE...
  - chmod [OPTION]... MODE[,MODE]... FILE...
                 MODE表示法:
                     賦權表示法:直接操作一類使用者的所有權限為rwx
                         u=
                         g=
                         o=
                         a=
                     授權表示法:直接操作一類使用者的一個權限rwx
                         u+
                         g+
                         o+
                         a+
             
             chmod [OPTION]... OCTAL-MODE FILE... (octal=八進制)
                         數字表示
 ​
         chmod [OPTION]... --reference=RFILE FILE...
                     --reference=RFILE 類似改檔案權限
 ​
         選項:
             -R --recursive:遞歸修改
 ​
         注意:使用者僅能修改屬主為自己的那些檔案的權限           
  • 從屬關系管理指令:chown,chgrp
chown指令:
     chown [OPTION]... [OWNER][:[GROUP]] FILE...
     chown [OPTION]... --reference=RFILE FILE...
 ​
         選項:
             -R 遞歸修改           
  • chgrp指令:
- chgrp [OPTION]... GROUP FILE...
   chgrp [OPTION]... --reference=RFILE FILE...
 ​
     注意:僅管理者可修改檔案的屬主和屬組                 

思考:使用者對目錄有寫權限,但對目錄下的檔案沒有寫權限,能否修改此檔案内容,能否删除檔案

umask:檔案的權限反向掩碼,遮罩碼

檔案: 666-umask 目錄: 777-umask

注意:之是以檔案用666去減,表示檔案預設不能擁有執行權限,如果減得的結果加1
     umask:023
         666-023=644
         777-023=754
 ​
 umask指令:
     umask:檢視目前umask
     umask UMASK:設定umask
 ​
 注意:此類設定僅對目前shell程式有效           

練習:完成以下任務 1. 建立系統組mariadb,建立系統使用者mariadb屬于mariadb組,要求其沒有家目錄,且shell為/sbin/nologin,嘗試root切換至使用者,檢視其指令提示符

  1. 複制目錄/var/log 至 /tmp/目錄,修改/tmp/log及其内部的所有檔案的屬組為mageedu,并讓屬組對目錄本身擁有寫權限
  • install指令: install - copy files and set attributes (copy并設定屬性)
單源複制:
     install [OPTION]... [-T] SOURCE DEST
 多源複制    
     install [OPTION]... SOURCE... DIRECTORY
     install [OPTION]... -t DIRECTORY SOURCE...
 建立目錄  
     install [OPTION]... -d DIRECTORY...
 ​
 常用選項:
     -m --mode:設定目标檔案權限,預設為755
     -o --owner=OWNER:設定檔案屬主
     -g --group=GROUP:設定檔案屬組           
  • mktemp指令:建立臨時檔案或目錄
mktemp [option] [template]   mktemp /etc/temp.XXXX(随機生成)
 ​
     常用選項:
         -d:建立臨時目錄
         -u:提示但并不建立
 ​
 注意:mktemp會将建立的臨時檔案名直接傳回,是以,可直接通過指令引用儲存起來