linux賬戶權限和特殊權限管理

用戶賬號:
   
  用戶賬號   描述    
  超級用戶   root用戶,進行系統管理使用。    
  普通用戶  由管理員或root用戶創建,只在用戶自己的宿主目錄中擁有完整權限。    
  程序用戶  在安裝應用程序時,會添加一些低權限用戶賬號,
            不允許登錄到系統,用於維持系統或某個程序的正常運行。    
 
組賬號:
    定義:  表示組內所有用戶的賬號。
    基本組(私有組): 每一個用戶賬號至少屬於一個組。
    附加組(公共組): 該用戶同時還在其他組中。
 
UID(用戶標識號): 
  每一個用戶賬號都有一個數字形式的身份標記。每一個用戶UID號唯一.
  Root用戶的UID號:0
  程序用戶賬號UID : 1~499.
  普通用戶UID : 500~60000

GID(組標識號):
  組賬號也有一個身份標記。
  Root組賬號的GID號:0
  程序組賬號GID : 1~499.
  普通組賬號GID : 500~60000
 
與用戶賬號相關的配置文件:
    /etc/passwd : 保存用戶名稱,宿主目錄,登錄shell等基本信息。
    /etc/shadow : 保存用戶密碼,賬號有效期等信息。
 

 配置字段含義:
    用戶賬號名、密碼佔位符、用戶UID號、基本組GID號、
    用戶全名、宿主目錄(默認工作目錄)、登錄shell等信息。
 
Shadow文件中的配置行格式:
Shadow文件(影子文件) : 
    保存有各用戶賬號的密碼信息。
    用戶賬戶名、使用MD5加密的密碼字串信息,*或!!表示不能登錄到系統、
    上次修改密碼的時間、密碼的最短有效天數、密碼的最長有效天數、
    提前多少天警告用戶口令將過期、
    在密碼過期之後多少天禁用此用戶、賬號失效時間、保留字段。
 
添加用戶賬號:  useradd
爲新用戶設置密碼: passwd
修改用戶賬號屬性: usermod
刪除用戶賬號: userdel
具體的使用方法:多看--help和man手冊,info命令。
 
用戶賬號的初始配置文件
   添加新用戶後,會自動在該用戶的宿主目錄中建立一些初始配置文件。
    來源於賬號模板文件“/etc/skel”,

較常用的初始配置文件:
    .bash_logout 文件中的命令將在用戶每次退出登錄時執行。
    .bash_profile : 文件中的命令將在該用戶每次登錄時被執行。
    .bashrc  : 文件中的命令會在每次加載”/bin/bash” 程序時(包括登錄系統)執行。
    /etc/bashrc和/etc/profile:
    爲所有用戶添加登錄後自動運行的命令程序,自動設置變量等。
 
組賬號管理:
  組賬號文件: 
   /etc/group : 保存組賬號名稱,GID號,組成員等信息。
   /etc/gshadow :  保存組賬號的加密密碼字串等信息。
 
 添加組賬號: groupadd命令。
 添加,設置,刪除組成員: gpasswd命令。管理組賬號的用戶成員。
 刪除組賬號: groupdel命令。
 
查詢賬號信息:  
  Groups命令:  查詢用戶賬號所屬的組。
  Id 命令  : 查詢用戶賬號的身份標識。
    Finger命令: 查詢用戶賬號的登錄屬性。
  W命令:   查詢當前主機的用戶登錄情況。
 
 
管理目錄和文件的屬性:
訪問權限: 讀取、寫入、可執行等三種基本類型。
歸屬: 屬主,屬組。
 
文件類型: d(目錄), b(塊設備文件), c(字符設備文件),-(普通文件),  字母"l" (鏈接文件)。
設置目錄和文件的權限: chmod命令。
設置目錄和文件的歸屬: chown命令。


linux的特殊權限:

Centos7系統:
特殊權限: SUID,   SGID,   STICKY
安全上下文 : 
   1、進程以某用戶的身份運行,進程是發起此進程用戶的代理, 
      因此以此用戶的身份和權限完成所有操作。
   2、權限匹配模型:
     (1) 判斷進程的屬主,是否爲被訪問的文件屬主;
          如果是,則應用屬主的權限;否則進入第2步。
     (2) 判斷進程的屬主,是否屬於被訪問的文件屬組;
          如果是,則應用屬組的權限;否則進入第3步。
     (3) 應用other的權限。
 
SUID  :
默認情況下 : 用戶發起的進程,進程的屬主是其發起者;因此,其以發起者的身份在運行。
 
SUID 的功用:
    用戶運行某程序時,如果此程序擁有SUID權限,那些程序運行爲進程時,
    進程的屬主不是發起者,而是程序文件自己的屬主。
    
 
 
特殊權限SUID,SGID詳解:

  管理文件的SUID權限:
   Chmod u+ | - s  file .....
 
  展示位置:  屬主的執行權限位,如果屬主原本有執行權限,顯示爲小寫s;
       否則,顯示爲大寫s;
 
SGID :
  功用 : 當目錄屬組有寫權限,且有SGID權限時,那麼所有屬於此目錄的屬組,
     且以屬組身份在此目錄中新建文件或目錄時,
     新文件的屬組不是用戶的基本組,而是此目錄的屬組,
  
  管理文件的SGID權限:
     Chmod g+ | - s   file  .....
     
     展示位置: 屬組的執行權限位,如果屬組原本有執行權限,顯示爲小寫s;否則,顯示爲大寫s;
     
    
     
特殊權限Sticky及facl講解:

   Sticky:
   功用:對於屬組或全局可寫的目錄,組內的所有用戶或系統上的所有用戶對在此目錄中都能創建新文件或刪除所有的已有文件;
   如果爲此類目錄設置sticky權限,則每個用戶能創建新文件,且只能刪除自己的文件。
  
  管理文件的sticky權限:
    Chmod   o+ | -t   file ......
  展示位置:其它用戶的執行權限位
       如果其它用戶原本有執行權限,顯示爲小寫t,否則,顯示爲大寫T;
          系統上的/tmp和/var/tmp目錄默認均有sticky的權限。  
   
    
管理特殊權限的另外一種方式:
    基於八進制方式賦權時,可於默認的三位八進制數字左側再加一位八進制數字;
 
    
文件訪問控制列表(file access control lists)
 文件的額外賦權機制:
   在原有的u,g,o之外,另一層讓普通用戶能控制賦權給另外的用戶或組的機制。
 
   getfacl命令:
    getfacl  file.....
    user : username:mode
    group:groupname:mode

   setfacl命令:
    賦權給用戶
    Setfacl  -m  u:username:mode   file.....
    賦權給組:
    Setfacl  -m  g:groupname:mode  file....
 
   撤銷賦權:
   setfacl  -x  u:username  file....
   setfacl  -x  g:groupname   file....


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章