使用者、組和權限管理
指令修改使用者的密碼:# echo centos | passwd –stdin chesfer(使用者名)
如果不想看修改成功的資訊:# echo centos | passwd –stdin chesfer(使用者名) > /dev/null
本章節的内容:
了解Linux的安全模型
了解使用者帳号群組群帳号的目的
使用者群組管理指令
了解并設定檔案權限
預設權限
特殊權限
ACL
一、認識Linux的3A安全(資源分派)
Authentication:認證
Authorization:授權
Accouting|Audition:審計
二、使用者(管理者和普通使用者):

三、組(管理組和普通用組):
四、了解Linux的安全上下文:
運作中的程式:程序(process)
以程序發起者的身份運作:root:/bin/cat ;mage: /bin/cat
程序所能夠通路資源的權限取決于程序的運作者的身份
五、組的類别:
六、Linux使用者群組的主要配置檔案:
/etc/passwd:使用者及其屬性資訊(名稱、UID、主組ID等)
/etc/group:組及其屬性資訊
/etc/shadow:使用者密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
七、passwd格式:
[login name:登入用名(wang)]:[passwd:密碼(x)]:[UID:使用者身份編号(1000)]:[GID:登入預設所在組編号(1000)]:[GECOS:使用者全名或注釋]:[home directory:使用者主目錄(/home/wang)]:[shell:使用者預設使用shell (/bin/bash)]
檢視使用者的passwd:# cat/etc/passwd
檢視指定使用者的passwd:指令#getentpasswd username
/etc/passwd 是以前存放密碼的檔案;新版的作業系統處于安全性上的考慮,将密碼的檔案放在了/etc/shadow;如果需要更改會到以前的存放位置,則使用指令# pwunconv,恢複新的密碼存放位置指令:# pwconv
###
更改使用者的描述資訊:指令#chfnusername
檢視使用者資訊的描述,指令:#finger username
更改使用者的shell,指令:# chsh -s/bin/csh username
shadow檔案格式:
[登入用名]:[使用者密碼:一般用sha512加密]:[從1970年1月1日起到密碼最近一次被更改的時間]:[密碼再過幾天可以被變更(0表示随時可被變更)]:[密碼幾天後必須被變更(99999表示永不過期)]:[密碼過期前幾天系統提醒使用者(預設為一周)]:[密碼過期幾天後帳号會被鎖定]:[從1970年1月1日算起,多少天後帳号失效。]
檢視使用者的shadow:# cat/etc/shadow
檢視指定使用者的shadow:指令# getentshadow username
密碼期限拓撲圖:
九、密碼加密:
1、加密機制:加密:明文--> 密文;解密:密文--> 明文
2、單向加密:雜湊演算法,原文不同,密文必不同
3、相同算法定長輸出,獲得密文不可逆推出原始資料
4、雪崩效應:初始條件的微小改變,引起結果的巨大改變
5、加密算法類型:
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
6、更改加密算法:# authconfig --passalgo=sha256 –update(不會即刻生效,需要使用者重新更改密碼後方可生效)
7、密碼的複雜性政策:使用數字、大、下寫字母及特殊字元中至少3種;足夠長;使用随機密碼;定期更換;不要使用最近曾經使用過的密碼
8、生成随機數做密碼:指令# openssl rand -base64 20
生成沒有特殊符号的随機數:指令# openssl rand -base64 20 | tr -d [[:punct:]]
十、Group的檔案格式:
[群組名稱:就是群組名稱]:[群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow]:[GID:就是群組的ID]:[以目前組為附加組的使用者清單(分隔符為逗号)]
十一、gshadow的檔案格式:
[群組名稱:就是群組名稱]:[群組密碼]:[組管理者清單:組管理者的清單,更改組密碼和成員]:[以目前組為附加組的使用者清單:(分隔符為逗号)]
檢視指令:#getent gshadow bin
組名:組密碼:組管理者賬号:組的成員(多個成員使用,隔開)
臨時性更改使用者組:指令#newgrpbin
十二、檔案操作:
vipw和vigr 修改passwd和gshadow配置檔案
pwck和grpck:檢查passwd和gshadow的修改是否格式錯誤:
十三、 使用者群組的管理指令:
使用者管理指令:useradd、usermod、userdel
組帳号維護指令:groupadd、groupmod、groupdel
使用者建立:useradd
使用格式:useradd[options] LOGIN
格式選項:-u UID:[UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指明使用者所屬基本組,可為組名,也可以GID
-c "COMMENT":使用者的注釋資訊
-d HOME_DIR:以指定的路徑(不存在)為家目錄
-s SHELL: 指明使用者的預設shell程式 可用清單在/etc/shells檔案中
-G GROUP1[,GROUP2,...]:為使用者指明附加組,組必須事先存在
-N 不建立私用組做主組,使用users組做主組
-r: 建立系統使用者CentOS 6: ID<500,CentOS 7: ID<1000
預設值設定:/etc/default/useradd檔案中
顯示或更改預設設定:useradd -D、useradd -D -s SHELL
### 新使用者建立使用的配置模闆存放在/etc/skel下;新使用者建立的預設屬性模闆存放在/etc/default/useradd下 ###
### 指令上鎖使用者:#usermod –Lusername;指令解鎖使用者:usermod -U username ####
作業;
1、建立使用者gentoo,附加組為bin和root,預設shell為/bin/csh,注釋資訊為"GentooDistribution"
# useradd -G bin,root -s /bin/csh -c "Gentoo Distribution"Gentoo
2、建立下面的使用者、組群組成員關系:名字為admins的組,使用者natasha,使用admins 作為附屬組,使用者harry,也使用admins 作為附屬組使用者sarah,不可互動登入系統,且不是admins 的成員,natasha,
harry,sarah密碼都是centos
# groupadd admins;useradd -G admins natasha;useradd -G admins harry;useradd -s /sbin/nologin -r sarah;echo"centos"|passwd --stdin natasha;echo "centos"|passwd--stdin harry;echo "centos"|passwd --stdin sarah