您好,登錄后才能下訂單哦!
用戶和組的管理
所采用的認證為Cisco開發的AAA認證體系:
Authetication:認證,核實身份是否正確;
Authorization:授權,對已經核實身份的用戶進行資源分配;
Accounting:審計,監管資源被使用的情況;
Linux是一個多用戶、多任務的系統:
能夠實現資源使用和完成的任務的主體是:應用程序進程
進程是以其發起者的身份運行的;可以理解為:進程的所有者就是發起者;會將發起者信息標記在進程上;
當進程試圖訪問資源的時候,安全上下文會對比進程的所有者和資源的所有者的關系:
首先查看進程的所有者是不是資源的所有者,如果是,就按照屬主的權限使用資源;
如果不是,則判斷進程的所有者是否屬于資源所屬組,如果是,按照數組的權限使用資源;
如果不是,則直接使用資源的其他人訪問權限來使用資源;
用戶賬戶:就是計算機操作者在操作系統中的身份映射;在滿足了認證條件之后的身份映射;
用戶分類:
超級用戶:(管理員)root
普通用戶:
系統用戶:為保證安全,必須讓那些運行在后臺的進程或者服務類進程亦菲管理員的身份運行;這類用戶一般不需要登錄到系統;
登陸用戶:能夠正常使用整個系統資源的用戶;
用戶的標識:用戶登陸名稱;
用戶ID:為計算機系統準備的數字標識;
超級用戶:0
系統用戶:Centos5、Centos6:1~99;Centos7:1~999;
登陸用戶:Centos、Centos6:500~60000;Centos7:1000~60000;
名稱解析:名字<-->UID
解析庫:/etc/passwd
系統利用解析庫完成認證機制,驗證登陸用戶是否是你聲稱的那個人;
認證庫:
用戶的認證信息庫:/etc/shadow
組的認證信息庫:/etc/group
采用密碼認證機制:
設置密碼的一般性策略:
1.盡量使用隨機字符串作為密碼;
2.密碼長度不要少于8字符;
3.密碼中盡量包括大寫字母、小寫字母、數字和標點符號,這四類字符中的三類;
4.不定期更換,每個一段時間換一個密碼(推薦42天之內一換密碼);
在Linux中,保存到認證庫中的密碼信息是經過加密保存的;
hash單向加密算法:抽取原始數據的特征信息,數據指紋;
單向加密算法的特征:
1.只要數據相同,加密結果必然相同;
2.無論數據多大,其加密結果定長輸出;
3.雪崩效應
4.不可逆
單向加密常用的算法:md5、sha1、sha224、sha256、sha384、sha512
為防止密碼相同,每個用戶都加一個salt而且只加一次
最終驗證字符串:算法+salt+密碼
用戶組:將具有某些相同或相似屬性的用戶聯系在一起以便集中授權的容器;
組類別:
管理員組:
普通用戶組:
系統組:
登陸組:
組的標識方法:
組名:方便操作者使用;
組的ID(GID):位系統提供標識;
管理員組:0
系統組:Centos5、Centos6:1~499;Centos7:1000~60000
解析庫:/etc/group
組也需要認證,組也有認證庫:/etc/gpasswd
組也需要密碼保護;
如果沒有設置密碼保護,則不能隨時加入;
以用戶為核心來對組進行分類:用戶的主要組(基本組);用戶的附加組(附屬組,額外組);
根據組所容納的用戶來分:私有組,公共組;
用戶和族的管理:
解析庫1:/etc/passwd:
格式:name:password:UID:GID:GECOS:directory:shell
name:登錄名
password:密碼字段,現在使用了shadow機制的系統,通常使用“x" 作為占位符;
UID:用戶的ID;
GID:此用戶主要組的ID
GECOS:comment,注釋類的信息,現在一般都會用來存放用戶的說明信息或全名;
directory:用戶的家目錄的絕對路徑;
shell:用戶的默認登陸shell的絕對路徑;
解析庫2:/etc/group:
格式:group_name:password:GID:use_list
group_name:組名
password:組密碼占位符,默認為空;
GID:組的ID;
user_lsit:以該組為附加組的用戶的列表;
認證庫1:/etc/shadow:
login name:用戶的登錄名;
encryted password:加密了的密碼;
date of last password change:相對時間概念;
minimum password age:在多久時間內無法修改密碼;
maximum password age:在多長時間之后密碼過期;
password warning period:密碼過期之前的友善提醒天數;
password inactivity period:密碼過期之后的寬限期;
account ecpiration date:一個用戶賬戶密碼過期的日期;
reserved field:保留字段;
認證庫2:/etc/gpasswd:
格式:group name:encrypted password:administrators:members
組管理命令:
groupadd:新建組賬戶,添加組;
groupadd [-g gid [-0]] [-r] [-f] groupname
-g gid:在創建組賬戶是,指定組賬戶GID; 如果不使用該選項指定,系統會選則在iexi文件按鎮南關出現在不大于60000的GID加1;
-r:創建系統組;
groupmod:修改組的相關屬性;
groupmod [選項] GROUPNAME
-g gid: 修改組賬戶的ID;
-n NEW_GROUPNSME: 修改組名;
groupdel: 刪除組賬戶
groupdel [選項] GROUPNAME
注意:如果某個組是摸個用戶的主要組或私有組,則該組無法刪除;
用戶管理的命令:
useradd:添加用戶帳號
useradd [選項] 登錄名
/etc/default/useradd
/etc/login.defs
/etc/skel
以上三個文件和目錄能夠幫助管理員在為指定任何選項是,也能創建用戶,并為用戶賦予默認的屬性;
選項:
-c,--comment 'COMMENT': 在創建用戶是為用戶添加注釋信息,一般為全名;
-d,--home /PATH/TO/HOME_DIR: 在創建用戶的時候為用戶指定家目錄的絕對路徑,被指定的目錄應該是事先不存在的目錄;
-g,--gid GROUPNAME: 在創建用戶時,為用戶指定組目錄;
-G,--groups GROUP1[,GROUP2,...[,GROUPN]]: 在創建用戶時,為用戶添加附加組;
-m,--create-home:在創建用戶時,強制性為用戶創建家目錄;
-M:在創建用戶時,不會創建用戶的家目錄,即使在/etc/login.defs中CREATE_HOME的值為yes也不創建;
-r,--system:創建系統用戶;
-u,--uid UID:在創建用戶的時候,為用戶指定UID,這個UID可以超過6000的限制;
-s,--shell /PATH/TO/SHELL:在創建用戶時,為用戶指定默認shell,使用絕對路徑;
-D,--defaults: 顯示或修改用戶默認屬性值;
-s, --shell /PATH/TO/SHELL: 修改/etc/default/useradd文件中SHELL的默認值;
usermod: 修改用戶賬戶信息
usermod [選項] 登錄名
選項:
-c, --comment 'COMMENT': 修改用戶的注釋信息;
-g,-gid GROUPNAME: 修改用戶的主要組;
-G,--groups GROUP1[,GROUP2,...[,GROUPN]]: 修改用戶的附加組為列表中的組;
-a,--append:與-G選項同時使用,給用戶添加新的附加組;
-d,--home /PATH/TO/HOME_DIR: 修改用戶的家目錄;
-m,--create-home:與-d選項同時使用,將舊的家目錄中的數據移動至新家之中;
-s,--shell /PATH/TO/SHELL: 修改用戶賬戶的登陸shell;
-l,--login NEW_LOGIN: 更改用戶賬戶的登錄名;
-u,--uid UID:修改用戶的UID;
-L,--lock:鎖定賬戶密碼;
-U,--unlock:解鎖用戶密碼;
userdel:刪除用戶賬號
userdel [選項] 登錄名
選項:
-r:刪除用戶的同時,清楚用戶的家目錄;
用戶認證相關命令:
passwd:設置和查看用戶的密碼信息:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
1.如果省略用戶名,意味這更改當前登錄用戶的密碼;
2.如果指定用戶名,更改指定用戶的密碼,只能root使用;
選項:
-l,lock:鎖定用戶密碼;
-u,--unlock:解鎖用戶密碼;
相比較usermod -L|-U而言,其優先級更高;
如果使用usermod -L鎖定的用戶密碼,可以使用passwd -u解鎖;
而使用passwd -l鎖定的用戶密碼,無法使用usermod -U解鎖;
-d,--delete:刪除用戶密碼;將/stc/shadow文件中第二字段清空;
-S,--status:查看用戶的密碼狀態;
--stdin:借助于管道將輸入數據流當作標準輸入信息送給passwd命令;
組認證相關命令:
gpasswd:
gpasswd [選項] groupname
選項:
-a,--adduser:向名為group的組中添加用戶user;
-d,--deleteuser:從名為group的組中一處用戶user;
其他命令:
su:switch user,切換用戶身份
su USERNAME:半切換;在切換用戶的時候,不會重新讀取目標用戶的配置文件,因此,用戶并沒有登陸行為,所以,工作環境不初始化;
su - USERNAME:登陸式切換,完全切換;在切換用戶的時候,重新讀取目標用戶的配置文件并且初始化工作環境;相當于su -l USERNAME
-c COMMAND: 并不會切換用戶身份,而是以目標用戶的身份執行某命令;
使用su命令的時候,從root切換到其他普通用戶,無需密碼;但普通登陸用戶進行切換時,必須給出目標用戶的密碼;
進行用戶切換之后,不要連續切換,而是用exit命令返回之前的用戶;
newgrp GROUPNAME: 臨時更改當前登錄用戶的主要組;使用exit返回之前的狀態
id: 顯示真實的和有效的用戶和組的ID;
真實的ID:在/etc/passwd定義的用戶的UID和GID;
有效的ID:當前生效的用戶的UID和GID;
id [OPTION]... [USER]
-g: 只顯示用戶的有效GID
-u: 只顯示用戶的有效UID
-G: 顯示用戶所有組的ID
-n: 以名稱來代替ID進行顯示
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。