使用者群組的管理
使用者賬戶:就是計算機操作者在作業系統中的身份映射,在滿足了認證天劍之後的身份映射
使用者分類:
超級使用者(管理者使用者):root
普通使用者
系統使用者:為了保證安全,必須讓那些運作在背景的程序或服務類程序以非管理者的身份運作,這類使用者一般不需要登入到系統
登入使用者:能夠正常使用整個系統資源的使用者
使用者的辨別:
使用者的登入名稱:為操作者準備的簡單易記的字元串辨別
使用者的ID:為計算機系統準備的數字辨別
超級使用者的ID就是0(ID為0的就是超級使用者)
系統使用者:centos5、6 1~499
centos7 1~999
登入使用者:centos5、6 500~6W
centos7 1000~6W
6W+的辨別符為使用者的自定義辨別
名詞解釋:
名稱<-->ID
解析庫:/etc/passwd
name:password:UID:GID:GECOS:directory:shell
系統利用解析庫完成認證機制:驗證登入使用者是否是你聲稱的那個人
使用者的認證資訊庫 認證庫:/etc/shadow
login name:使用者的登入名
encrypted password:加密了的密碼
格式:$算法+$salt+$密碼
如果該位置為!則表示使用者的密碼被禁用
如果該位置為*則表示該使用者為系統使用者,不能登入
如果該位置為空,則表示使用者可以無需密碼即可登入系統
date of last password change:相對時間概念,相對于1970年一月一日到最後一次修改密碼的那天的天數
minimun password age:最小的密碼期限在多長時間之内無法修改密碼,預設值為0(随時可以修改密碼),如果是非0的其他數字,意思是在這麼長的天數内不能修改密碼
maximum password age:密碼有效期在多長時間之後密碼過期,預設99999(永久有效)
password warning period:密碼警告期,密碼過期之前的友善提醒,預設為7天
password inactivity period:密碼過期之後的寬限期,預設不啟用(-1)
account expiration date:一個使用者賬戶密碼過期的日期,這是一個絕對的過期期限
reserved field:保留字段,以備以後使用
組的認證資訊庫: /etc/group
group_name:password:GID:user_list
group_name:組名
password:組密碼占位符,預設為空
GID:組的ID
user_list: 以該組為附加組的使用者的清單
采用密碼認證的機制:
一般性政策:
盡量使用随機字元串作為密碼
密碼長度一般不要少于8個字元
密碼中至少包括大寫字母、小寫字母、數字、标點符号四類中的三類
不定期更換密碼,每隔一段時間就換一次密碼,推薦42天之内改
在Linux中儲存到認證庫中的密碼資訊是經過加密儲存的
hash單項加密算法:抽取原始資料的特征資訊,資料指紋
單項加密算法的特征:
隻要資料相同,其加密結果就必然相同
無論資料多大,其加密結果定長輸出
雪崩效應
不可逆
單項加密常用的算法
1.md5:message digest(消息摘要)128bit定長輸出
2.sha1:Secure Hsah Alogorithm 安全的雜湊演算法 160bit定長輸出
3.sha224
4.sha256
5.sha384
6.sha512
salt:随機數
/dev/random: 僅僅隻是從熵池中取但是會是随機數,如果熵池随機數被耗盡,則程序被阻塞
/dev/urandom:先試圖從熵池中傳回随機數,如果熵池耗盡,則利用僞随機數生産器生産僞随機數
最終認證字元串:算法+salt+密碼
在認證庫中存放的資訊:$6$salt$crytped_password
使用者組:将具有某些相同或屬性相似的使用者聯系在一起一遍集中授權的容器
組類别:
管理者組
普通使用者組
系統組
登入組
組的辨別方法:
組名:友善操作者使用
組的ID:為使用者提供組辨別
管理者組:0
系統組: centos5、6 1~499
centos7 1~999
登入組: centos5、6 500~6W
centos7 1000~6W
解析庫: /etc/group
組也需要認證,組也有認證庫: /etc/gpasswd
組也需要密碼保護:如果組沒有設定密碼保護的話,則不能随時加入
以使用者為核心對組進行分類:
使用者的主要組(基本組)對于使用者來說這樣的組必須要有而且隻能有一個
使用者的附加組(附加組,額外組)對于使用者來說可以沒有也可以有多個
根據組所容納的使用者來分
私有組:組名與使用者登入名相同并且組中隻有此使用者
公共組:組中可以包含其他多個不同使用者
注意:預設情況下使用者的主要組都是其私有組
使用者群組的管理工作:主要使用指令來完成:
組管理相關的指令:
groupadd:建立組賬戶,添加組
-g gid:在建立組賬戶時,指定組賬戶的GID,如果不使用該選項指定,系統會選擇在組解析檔案中出現的不大于6W的最大GID加1
-r:建立系統組,建立一個GID在1~999(1~499)之間的組
groupdel:删除組賬戶
注意:如果某個組是某個使用者的主要組或私有組則該組無法删除
groupmod:修改組的相關屬性資訊
-g gid:修改組賬戶的ID
-n NEW_GROUPNAME:修改組名
使用者管理相關的指令:
useradd:添加使用者賬戶
/etc/default/useradd
/etc/login.defs
/etc/skel
以上三個檔案和目錄能夠幫助管理者在未指定任何選項時,也能建立使用者,并為使用者賦予預設的屬性
-c 'COMMENT':在建立使用者時為使用者添加注釋資訊,一般為全名
-d PATH/TO/HOME_DIR:在建立使用者時候為使用者指定家目錄的路徑,被指定的目錄應該是事先不存在的目錄
-g GROUPNAME:在建立使用者時,為使用者指定主組;
-G:在建立使用者時,為使用者添加附加組;
-k:skel
-m:如果不存在則建立使用者主目錄,(在建立使用者時強制性為使用者建立家目錄)
-M: 在建立使用者時,絕對不會建立家目錄即使在/etc/login.etfs中CREATE_HOME的值為yes也不建立(不能給使用者建家目錄)
-r:将使用者建為系統使用者
-u:在建立使用者的時候直接給使用者指定UID,這個UID可以超出6W
-s PATH/TO/SHELL:在建立使用者的時候指定使用者的預設shell(絕對路徑)
-D:顯示或修改使用者預設屬性值
-s修改/etc/default/useradd檔案中shell的預設值
userdel:删除使用者使用者賬戶
-r:删除使用者的同時清除使用者的家目錄
usermod:修改使用者賬戶資訊
-c:修改使用者注釋字段的資訊
-g:修改使用者的主要組
-G:修改使用者的附加組為清單中的組
-a:給使用者添加新的附加組,隻能跟-G一起使用
-d:(絕對路徑)修改使用者的家目錄
-m:與-d選項同時使用,意味着将舊的家目錄中的資料移動到新家中
-l:更改使用者賬戶的登入名
-s:(絕對路徑)修改使用者賬戶的登陸shell
-u:修改使用者的UID
-L:鎖定使用者的密碼
-U:解鎖使用者的密碼
認證管理相關的指令:
passwd:設定和檢視使用者的密碼資訊的指令 如果省略使用者名意味着更改目前登陸使用者的密碼 如果指定使用者名更改指定使用者的密碼,隻能root使用
-l:鎖定使用者密碼
-u:解鎖使用者密碼
相比較usermod -L|-U而言,其優先級更高
-d:删除使用者密碼,将/etc/shadow檔案中的第二字段清空
-S:檢視使用者的密碼狀态
--stdin:借助于管道将輸入資料流當做标準輸入資訊送給passwd指令
echo"PASSWORD" | PASSWD --stdin USERNAME
組認證相關指令
gpasswd
-a:向名為group的組中添加使用者user
-d:從名為group的組中移除使用者user
chage(change age):改密碼時間
-d:修改預設最後一次修改時間
-E:修改絕對日期
其他的相關管理指令
chsh:修改使用者的預設shell 相當于usermod -s
su:切換使用者身份
su USERNAME:半切換再切換使用者的時候不會重新讀取目标使用者的配置檔案,是以使用者并沒有登陸行為,是以工作環境不初始化
su - UESRNAME:登入式切換完全切換,在切換使用者時候,會重新讀取目标使用者的配置檔案并且初始化工作環境相當于 su -l USERNAME
-c COMMAND:并不會切換使用者身份,而是以目标使用者的身份執行某指令
使用su使用者時,root切換到其他普通使用者時,無需密碼,反之必須密碼 進行使用者切換之後,不要連續切換,而是用exit指令傳回之前的使用者
id:顯示真實的和有效的使用者群組的ID
真實的ID:在/etc/passwd定義的使用者的UID和GID
有效的ID:目前生效的使用者的UID和GID
-u:隻顯示使用者有效的UID
-g:隻顯示使用者有效的GID
-G:顯示使用者所有組的ID
-n:以名稱來代替ID進行展示
newgrp GROUPNAME:臨時更改目前登入使用者的主要組;使用exit傳回之前的狀态
Cisco開發的AAA認證體系
Authentication:認證核實身份是否正确
Authorization:授權對已經核實身份的使用者進行資源配置設定
Accounting:審計,監管資源被使用的情況
多任務,多使用者的系統:
能夠實作資源使用和完成任務的主體是:應用程式程序
安全上下文:Secure Context
程序是以其發起者的身份運作的:程序的所有者就是發起者 會将發起者的資訊标記在程序上 當程序試圖通路資源的時候,安全上下文會比對程序的所有者和資源所有者的關系,首先檢視程序的所有者是不是資源的所有者,如果是,會按照屬主的權限使用資源,如果不是,則判斷程序的所有者是否屬于資源所有組,如果是,按照屬組的權限使用資源,如果不是,則直接使用資源的其他人通路權限來使用資源
本文轉自Vincent一馬 51CTO部落格,原文連結:http://blog.51cto.com/mazhenbo/1910736,如需轉載請自行聯系原作者