用戶、組和權限管理
命令修改用戶的口令:# 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