用戶脊阴、組和權(quán)限管理
Multi-tasks,Multi-Users
每個(gè)使用者:
用戶標(biāo)識(shí)溉奕、密碼【一種認(rèn)證手段】三痰;
Authentication(認(rèn)證)
Authorization(授權(quán))
Audition(審計(jì))
3A
組:用戶組,用戶的容器【便于實(shí)現(xiàn)權(quán)限分配涛酗,有些系統(tǒng)稱為角色欺矫,類似角色但不完全相同】
用戶類別:
管理用戶;
普通用戶:
系統(tǒng)用戶
登錄用戶
用戶標(biāo)識(shí):UserID(簡(jiǎn)稱UID)
16bits二進(jìn)制數(shù)字表示:0-65535
管理員是0
普通用戶是1-65535【基本上是到60000】
系統(tǒng)用戶是1-999(centos7)
登錄用戶是1000-60000(centos7)
名稱解析:名稱轉(zhuǎn)換
Username <-->UID
根據(jù)名稱解析庫進(jìn)行:/etc/passwd [passwd為解析庫文件] (LDAP輕量級(jí)目錄訪問協(xié)議篮奄,通常用戶用戶及目錄訪問的)
組
組類別1:
管理員組
普通用戶組
系統(tǒng)組
登陸組
組標(biāo)識(shí):GroupID(簡(jiǎn)稱GID)
16bits二進(jìn)制數(shù)字表示:0-65535
管理員組是0
普通用戶組是1-65535【基本上是到60000】
系統(tǒng)用戶是1-999(centos7)
登錄用戶是1000-60000(centos7)
名稱解析:名稱轉(zhuǎn)換
groupname <-->GID
解析庫:/etc/group
組類別2:
用戶的基本組
用戶的附加組
組類別3:
私有組:組名同用戶名捆愁,且只包含一個(gè)用戶割去;
公共組:組內(nèi)包含了多個(gè)用戶。
認(rèn)證信息:
通過對(duì)比事先存儲(chǔ)的昼丑,與登錄時(shí)提供的信息是否一致呻逆;
password存放位置【加密存儲(chǔ)】:
/etc/shadow 用戶密碼
/etc/gshadow 組密碼
密碼使用策略:
1、使用隨機(jī)密碼菩帝;
2咖城、最短長(zhǎng)度不要低于8位;
3呼奢、大小寫字母宜雀、數(shù)字、特殊符號(hào)握础;
4州袒、定期更換。
加密算法:
對(duì)稱加密:加密和解密使用同一個(gè)密碼弓候;
非對(duì)稱加密:加密和解密使用的一對(duì)密鑰:
公鑰:public key
私鑰:private key
單向加密:只能加密郎哭,不能解密【提取數(shù)據(jù)特征碼,Linux用戶密碼是用此方法菇存,即單向加密】夸研;
定長(zhǎng)輸出【sha512sum,md5sum】
雪崩效應(yīng)(初始條件微小改變引起結(jié)果巨大變化)
算法:
md5:message digest 5是版本號(hào),定長(zhǎng)輸出128 bits
sha:secure hash algorithm依鸥,定長(zhǎng)輸出160bits
sha224/256/384/512
在計(jì)算之時(shí)加salt:隨機(jī)數(shù)【使用場(chǎng)景亥至,不同用戶相同密碼加密值依然不一樣】
使用md5sum查看差一個(gè)字符加密算值差多少
/etc/passwd:用戶的信息庫
name:password:UID:GID:GECOS:directory:shell
name:用戶名
password:可以是加密的密碼,也可以是x(占位符)
GID:用戶所屬的主組ID
GECOS:用戶的注釋信息
directory:用戶的家目錄
shell:用戶默認(rèn)的shell贱迟,登陸時(shí)默認(rèn)的shell
如果passwd文件中的密碼是占位符x姐扮,那么真正的密碼存儲(chǔ)于/etc/shadow文件中
shadow文件中:
用戶名:$加密算法$salt$密碼:最近修改日期:最短使用期限:最長(zhǎng)使用期限:警告期限:過期期限:保留字段
第一個(gè)$與第二個(gè)$指的是加密算法,1是md5衣吠,2-6指的是上面的sha算法
第二個(gè)$與第三個(gè)$中間是salt
第三個(gè)$到冒號(hào)之間是加密后的密碼
后面的是最后一次更改密碼的日期茶敏,1970之后的天數(shù),空表示此功能被禁用
后面是密碼最短使用期限
后面是密碼最長(zhǎng)使用期限
密碼警告時(shí)間段
密碼禁用期
賬號(hào)過期日期缚俏,從1970年1.1開始的天數(shù)
/etc/group:組的信息庫
group_name:password:GID:user_list
這里的user_list值得之該組的用戶成員惊搏,即以此組為附加組的用戶的用戶列表。
相關(guān)命令:useradd,userdel,usermod,passwd,groupadd,groupdel,groupmod,gpasswd,chage,chsh,id,su
Linux用戶和組管理
安全上下文:
進(jìn)程以其發(fā)起者的身份運(yùn)行忧换;進(jìn)程對(duì)文件的訪問權(quán)限恬惯,取決于發(fā)起此進(jìn)程的用戶據(jù)權(quán)限。
系統(tǒng)用戶:為了能夠讓那些后臺(tái)進(jìn)程或服務(wù)類進(jìn)程以非管理員的身份運(yùn)行亚茬,通常需要為此創(chuàng)建多個(gè)普通用戶酪耳,此類用戶從不用登錄系統(tǒng),例如mysql刹缝、squid等碗暗。
groupadd:添加組
groupadd [options] group
-g :GID奖蔓,指定GID,默認(rèn)是上一個(gè)組的GID+1
-r:創(chuàng)建系統(tǒng)組
groupmod:修改組屬性
groupmod [options] GROUP
-g 修改GID
-n 修改組名 -n 新組名 舊組名
groupdel:刪除組
groupdel [options] GROUP
useradd:創(chuàng)建用戶
如果沒有指定用戶組的話讹堤,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)與用戶名同名的私有組
-u 指定UID
-f 0或-1設(shè)置過了期限之后能否繼續(xù)使用
-g 指定基本組GID或組名稱,此組得事先存在
-c 指明注釋信息
-G 指定用戶所屬的附加組厨疙,多個(gè)組之間用逗號(hào)分隔GROUP1[,GROUP2,...[,GROUPN]]]
-d 以指定的路徑為用戶的家目錄洲守,通過復(fù)制/etc/skel此目錄并重命名實(shí)現(xiàn),指定的家目錄路徑存在沾凄,則不會(huì)為用戶復(fù)制環(huán)境配置文件
-s 指定用戶的默認(rèn)shell梗醇,可用的所有shell列別存儲(chǔ)在/etc/shells文件中
-r 創(chuàng)建系統(tǒng)用戶
-M 不為用戶創(chuàng)建主目錄
注意:創(chuàng)建用戶時(shí)的諸多默認(rèn)設(shè)定配置文件在/etc/login.defs中
useradd -D 顯示許多用戶創(chuàng)建時(shí)的基本默認(rèn)信息,修改的結(jié)果保存于/etc/default/useradd
可以通過useradd -D 后面添加選項(xiàng)做一些操作撒蟀,也可以直接改文件信息叙谨。
usermod:修改用戶屬性
usermod [options] LOGIN
-u 修改uid,新id
-g 修改用戶所屬基本組
-G 修改附加組保屯,原來的附加組會(huì)被覆蓋
-a append 與-G 一同使用手负,用于為用戶追加新的附加組;
-c comment 修改注釋信息
-d 修改家目錄姑尺,原有文件不會(huì)轉(zhuǎn)移
-m 與-d一同使用竟终,將原來的家目錄文件移動(dòng)到新目錄
-l 修改用戶名
-s 修改用戶的默認(rèn)shell
-L 鎖定用戶密碼lock,即在原來的密碼字符串之前添加一個(gè)G畜统捶;
-U unlock解鎖用戶的密碼。
userdel : 刪除用戶
userdel option login
-r 刪除用戶時(shí)一并刪除家目錄【因?yàn)槟J(rèn)情況下刪除用戶柄粹,此用戶家目錄文件不會(huì)被刪除】喘鸟;
passwd:修改密碼
不帶任何選項(xiàng)是指修改當(dāng)前用戶密碼;
passwd username 修改指定用戶密碼驻右,僅root用戶有次權(quán)限
-l 鎖定
-u 解鎖
-d 清除用戶密碼
-e expire 過期期限什黑,日期;
-i 非活動(dòng)期限 days堪夭;
-n 密碼的最短使用期限
-x 最長(zhǎng)使用期限兑凿;
-w 警告期限
--stdin 重定向至標(biāo)準(zhǔn)輸入 例如echo "password" | passwd --stdin docker 即能夠?qū)assword這個(gè)字符串設(shè)置為docker這個(gè)用戶的密碼
gpasswd:給組定義密碼
給組添加密碼的意義:避免用戶亂切換組,導(dǎo)致創(chuàng)建的文件的 屬組錯(cuò)亂茵瘾,如果一個(gè)用戶有多個(gè)組礼华,那么在這些組中使用,newgrp 對(duì)應(yīng)的組名稱 即可無需密碼切換基本組拗秘。
組密碼文件:/etc/gshadow
gpasswd option group
-a USERNAME : 向組中添加用戶
-d USERNAME:從組中刪除用戶
newgrp 臨時(shí)切換基本組
可以是直接連接group名稱圣絮,也可以是newgrp - groupname,-會(huì)模擬 用戶重新登陸以實(shí)現(xiàn)重新初始化其工作環(huán)境雕旨。
chage 更改用戶密碼過期信息
chage option login
id 顯示用戶真實(shí)和有效的id信息
id option user
-u 僅顯示有效的uid扮匠;
-g 僅顯示用戶的基本組ID捧请;
-G 顯示用戶所屬的所有組ID;
-n 顯示名稱而不是ID棒搜;
su 切換用戶switch user
登錄式切換
會(huì)通過讀取目標(biāo)用戶的配置文件來重新初始化
su - username
非登錄式切換
不會(huì)讀取目標(biāo)用戶的配置文件來初始化
su username
su USERNAME -c command以目標(biāo)用戶執(zhí)行命令
管理員可無密碼切換其他任意用戶疹蛉,其他用戶切換不同用戶均需要目標(biāo)用戶密碼。
其他命令:chsh修改shell力麸,finger查詢用戶信息可款,chfn修改finger里的基本信息,whoami當(dāng)前用戶是誰克蚂,grpck組檢查闺鲸,pwck用戶信息檢查。