用戶和組帳戶的管理的基礎和基本操做 計算機就是讓咱們使用資源的,可是咱們的計算機不能讓每一個人的權限同樣,因此咱們須要設置多個不一樣權限的用戶,有不一樣的身份認證,從而使用不一樣的操做。從而就有了多任務操做系統。 計算機可以實現資源使用和完成任務的主體是:應用程序進程 進程是以發起者的身份運行的:能夠理解爲,進程的全部者就是其發起者;每一個進程上都會標記上其全部者的身份信息; 當進程試圖訪問資源的時候,安全上下文迴避對進程的全部者和資源的全部者之間的關係: 首先,查看進程的全部者是否和資源的全部者爲同一用戶,若是是,就按照全部者擁有的權限來使用資源;若是不是,則進行下一步的判斷; 若是不是,則判斷按進程的全部者是否屬於該資源所屬組的成員;若是是,按照所屬組的權限來使用資源; 若是不是,就按照最爲普通的其餘用戶的權限來使用資源; 用戶帳戶:實現操做者和計算機交互式操做的基礎,是操做者的身份在知足了驗證條件以後的計算機系統中的映射;咱們輸入咱們想要的操做,計算機會幫咱們進行實現操做。 用戶帳戶分類: 超級用戶(管理員):root 普通用戶: 系統用戶(非登陸用戶): 爲了保證安全,每每會讓某些進程或服務必須以非管理員的用戶身份運行;這類非管理員用戶,稱爲系統用戶;此類用戶通常不容許登陸到系統的;是很危險的用戶。 登陸用戶: 可以經過登陸行爲驗證用戶身份進而得到資源訪問權限並能夠對資源進行操做的用戶,能夠稱爲登陸用戶; 用戶帳戶的標識方式: 用戶登陸名稱: 爲操做者提供簡單易記的字符串標識;通常咱們的用戶名 用戶數字ID(UID): 爲計算機操做系統提供的標準的數字標識符號,0~2^32-1,真正的計算機識別的「用戶名」 超級用戶: 用戶名:root UID:0 普通用戶: 系統用戶: centos 6之前:1~499 centos 7之後:1~999 登陸用戶 centos 6之前:500+ centos 7之後:1000+ 注意:60000+的UID一般須要用戶自定義標識,後面會說; 名稱解析: 用戶名 <--> UID 用戶名解析庫: /etc/passwd(用tail命令能夠看) 操做系統中的認證組件經過解析庫實現認證機制,即驗證登陸用戶是否爲已經存在的用戶; 用戶認證庫: /etc/shadow(用tail命令能夠看) 經過此前的解析庫認證用戶是存在的,在通過認證庫的認證,來證實登陸用戶就是其聲明的用戶; 默認的認證機制:密碼認證; 密碼複雜性要求: 1.儘可能避免使用有規律的或者來源於字典中的字符串做爲密碼; 2.密碼要足夠長,通常不得少於6個字符; 3.密碼要足夠複雜,其中應該至少包括大寫字母,小寫字母,數字及其餘符號中的三類; 4.不按期更換,每隔一段時間進行密碼更換; 在linux中,保存到認證庫的密碼是通過單向加密算法處理過的; 可以加密密碼的算法: MD: MD5,Message Digest Version 5,消息摘要算法第5版;128位定長輸出; SHA:Secure Hash Algorithm,安全的哈希算法; sha1:160位加密輸出 sha224: sha256: sha384: sha512:默認的加密算法; salt:經過隨機算法計算獲得的隨機數; 隨機數的生成裝置: /dev/random: 僅僅是從熵池中返回隨機數;若是熵池中隨機數耗盡,進程會被阻塞; /dev/urandom: 首先是從熵池中返回隨機數;若是熵池中隨機數耗盡,則利用僞隨機數生成器生成僞隨機數; 在認證庫中的密碼的最終形態:算法+salt+加密字符串; 算法:$1~$6 salt:$隨機字符串 加密字符串:$單向加密的結果 組帳戶:將具備某些相同或類似屬性的用戶聯繫在一塊兒以即可以集中受權的容器;就和小組是同樣的 組的分類: 超級用戶組 普通用戶組 系統用戶組 登陸用戶組 組帳戶的表示方法: 組帳戶名稱: 組帳戶ID(GID): 超級用戶組:0 系統用戶組: centos 6-:1~499 centos 7+:1~999 登陸用戶組: centos 6-:500+ centos 7+:1000+ 組名解析: 解析庫:/etc/group 認證庫:/etc/gshadow 組也須要使用密碼加密保護 用戶帳戶和組帳戶之間的關係: 在linux中,每一個用戶必須至少屬於一個組: 用戶帳戶的GID表示被稱爲用戶的主要組(基本組),Primary Group:每一個用戶必需要有主要組,並且只能有一個; 在主要組的基礎之上,用戶能夠與其餘的組帳戶存在邏輯關係,此類組稱爲用戶的附加組(附屬組,額外組),Addtion Group;對於用戶來收縮,此類組能夠沒有,也能夠有多個; 用戶和組管理的管理命令:(這些操做能夠從後邊課後習題看出來) 組帳戶的管理命令: groupadd、groupdel、groupmod 用戶帳戶的管理命令: useradd、userdel、usermod 認證相關的命令: passwd、gpasswd 其餘的相關命令: chage,chsh,finger,su,id 與用戶和組相關的命令: 1.groupadd - 建立一個新組 格式: groupadd [選項] group 經常使用選項: -g GID:指定要建立的組的GID; -r:將組建立爲系統組,此時應該保證GID在系統指定範圍內; 2.groupdel - 刪除一個組 格式:groupdel [選項] group 注意:若是某個組是某個用戶的主要組,則該組不能刪除; 3.groupmod groupmod - modify a group definition on the system 格式: groupmod [選項] GROUP 經常使用選項: -g GID:修改指定組的GID -n GROUP_NAME:修改指定組的組帳戶名稱; 4.useradd useradd - 建立一個新用戶或更新默認新用戶信息 格式: useradd [選項] username useradd -D [選項] 經常使用選項: -c, --commentCOMMENT:爲用戶添加註釋信息; -d, --homeHOME_DIR:爲用戶指定家目錄的路徑;此目錄不能事先存在; -e, --expiredateEXPIRE_DATE:用戶密碼的過時的絕對時間;如:2018/01/01 -f, --inactiveINACTIVE:爲用戶指定密碼使用達到最大時間以後的寬限期; -g, --gidGROUP:爲用戶指明GID;若是不寫此選項,系統會建立一個與組用戶名相同的組而且將之設置爲詞用的主要組; -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:爲用戶添加附加組; -m, --create-home: 必須爲用戶建立家目錄 -M, --no-create-home: 不爲用戶建立家目錄;再建立系統用戶時經常使用此選項; -s, --shellSHELL:爲用戶指定默認的shell -r, --system:爲系統建立一個新的系統帳戶 -u, --uidUID:爲用戶指定UID; 5.userdel userdel - 刪除用戶帳戶和相關文件 格式:userdel [選項] username 經常使用選項: -r, --remove:用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一塊兒刪除。在其它文件系統中的文件必須手動搜索並刪除。 6.usermod usermod - 修改一個用戶帳戶 格式:usermod [選項] username 經常使用選項: -c, --commentCOMMENT:修改用戶的註釋信息; -d, --homeHOME_DIR:修改用戶的家目錄;若是再加上 -m 參數(只與-d配合)。則會將現有home目錄的地址重命名爲新的home目錄地址,如原來沒有指定home目錄地址,則爲帳號新建一個指定的home目錄地址。 -e, --expiredateEXPIRE_DATE:修改用戶密碼過時的絕對日期; -f, --inactiveINACTIVE:修改用戶密碼過時以後的寬限期; -g, --gidGROUP:修改用戶的主要組(GID); -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:修改用戶的附加組爲此列表中的組,若是同時使用了-a選項,則保留原有的附加組,即將此列表中的組追加至用戶的附加組列表; -l, --loginNEW_LOGIN:修改用戶的登陸名; -s, --shellSHELL::修改用戶的登陸shell; -u, --uidUID:修改用戶的UID; -L, --lock:鎖定用戶; -U, --unlock:解鎖被usermod -L鎖定的用戶; 7.passwd passwd - update user s authentication tokens 格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inac‐ tivedays] [-S] [--stdin] [username] 經常使用選項: -l, --lock:鎖定用戶; -u, --unlock:解鎖用戶; --stdin:經過標準輸入接受密碼,能夠用於管道; -d, --delete:刪除用戶的密碼,也能夠用於解除用戶鎖定; -e, --expire:直接設置用戶密碼過時; -n, --minimum DAYS:用戶密碼的最短使用時長;默認值爲0 -x, --maximum DAYS:用戶密碼的最長時間時長;默認值爲99999 -w, --warning DAYS:用戶密碼過時以前多少天開始發送警告信息; -i, --inactive DAYS:用戶密碼過時以後的寬限期; 8.change chage - 更改用戶密碼過時信息 格式:chage [選項] username 經常使用選項: -d, --lastdayLAST_DAY -E, --expiredateEXPIRE_DATE -I, --inactiveINACTIVE -l, --list -m, --mindaysMIN_DAYS -M, --maxdaysMAX_DAYS -R, --rootCHROOT_DIR -W, --warndaysWARN_DAYS 9.chsh chsh - 改變登陸 shell chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ] 10.finger finger — 用戶信息查找程序 finger [-lmsp] [user ...] [user@host ...] 11.id id - 顯示真實和有效的 UID 和 GID id [OPTION]... [USERNAME] 經常使用選項: -u, --user: 只 顯示 用戶 ID -n:顯示名稱 -g:顯示GID 12.su su - 運行替換用戶和組標識的shell su [OPTION]... [-] [USER [ARG]...] 經常使用選項: -, -l, --login:之後面的用戶身份登陸到系統; -c, --commmand=COMMAND:之前面指定的用戶運行COMMAND,