Linux用戶及權(quán)限管理
1.Linux中的用戶
Linux是一個(gè)多用戶(multi-users)、多任務(wù)(multi-tasks)的操作系統(tǒng)。因此通過(guò)終端登陸系統(tǒng)需要,相應(yīng)的機(jī)制,來(lái)進(jìn)行管理、使用計(jì)算機(jī)系統(tǒng)資源。
一般都需要解決這樣三個(gè)問(wèn)題:
(1)認(rèn)證(authentication)
解決什么人可以登陸使用計(jì)算機(jī)資源
(2)授權(quán)(authorization)
解決用戶登陸后,其能使用計(jì)算機(jī)中的什么資源,能進(jìn)行什么樣的操作
(3)審計(jì)(audition)
- 記錄用戶所進(jìn)行的相關(guān)操作的信息
2.linux中用戶的劃分
Linux中的用戶等級(jí)大概是分為兩級(jí):超級(jí)用戶即管理員和普通用戶。其中普通用戶,按照系統(tǒng)程序運(yùn)行機(jī)制及安全性,又可劃分為:系統(tǒng)用戶和登陸用戶。系統(tǒng)用戶,不能登錄系統(tǒng),以其身份運(yùn)行的程序,僅在后臺(tái)以進(jìn)程的方式作為服務(wù)運(yùn)行。登陸用戶,可以登陸終端,并通過(guò)交互接口,與其他程序或文件,進(jìn)行交互。
用戶標(biāo)識(shí)(UID):
計(jì)算機(jī)更容易理解的往往是二進(jìn)制數(shù)據(jù),因此,我們使用16位二進(jìn)制數(shù)字來(lái)唯一標(biāo)識(shí)用戶,即UID。UID是0--65535.管理員的UID為0,普通用戶的UID為1--60000.普通用戶中的系統(tǒng)用戶UID為1--499(centos6),1--999(centos7);普通用戶中的登陸用戶UID為500--60000(centos6),1000--60000(centos7).
名稱解析:
在計(jì)算機(jī)中經(jīng)常會(huì)用到,如用戶名<--->UID,他們之間的相互解析。解析需要相應(yīng)的解析庫(kù)來(lái)提供比較對(duì)照,有戶名與UID的解析庫(kù)是文件/etc/passwd
3.linux中的組
按照劃分的標(biāo)準(zhǔn)不同,可分為:
- 管理員組和普通用戶組;基本組和附加組:私有組和公共組。
- 基本組和私有組,可以簡(jiǎn)單的理解為,創(chuàng)建用戶時(shí)自動(dòng)創(chuàng)建的與用戶同名的組。
- 附加組和公共組,可簡(jiǎn)單理解為,自己的用戶加入到其他用戶的基本組。
- 組對(duì)應(yīng)的解析庫(kù)是/etc/group這個(gè)文件。
4.密碼策略及加密算法
一般為了保證系統(tǒng)的安全,大都遵循一些基本原則:
使用隨機(jī)密碼;密碼盡可能滿足一定的長(zhǎng)度;盡可能滿足使用的字符集要求;最總要是定期更換
密碼的加密算法:
對(duì)稱加密;非對(duì)稱加密;單向加密(提取數(shù)據(jù)的特征碼,不可逆的)
5.Linux中重要的用戶和組的解析庫(kù)文件解析
/etc/passwd 文件解析:(每行7段)
name:password:uid:gid:gecos(用戶的注釋信息):home(用戶的家目錄):shell
/etc/shadow 文件解析:(每行9段)
用戶名:
加密的密碼段:
最近一次更改密碼的時(shí)間:
密碼最短使用期限:
密碼最長(zhǎng)使用期限:
警告期限:
非活動(dòng)時(shí)間:
過(guò)期時(shí)間:
保留字段
/etc/group 文件解析:
groupname:password:gid:userlist(一次為附加組的用戶的列表)
6.用戶和組的管理命令
groupadd 添加組命令
基本用法:groupadd [選項(xiàng)]... 組名
常用選項(xiàng):-g gid :添加組的同時(shí)制定GID
-r :創(chuàng)建一個(gè)系統(tǒng)組
列如:#groupadd -g 3306 mariadb
#groupadd -r archlinux
groupmod 修改組命令
基本用法:groupmod [選項(xiàng)]... 組名
常用選項(xiàng):-g gid :修改組的UID
-n newgroup:修改組的名字
示例:#groupmod -g 3307 mariadb
#groupmod -n mysql mariadb
groupdel 刪除組
基本用法:groupdel [選項(xiàng)]... 組名
useradd 創(chuàng)建用戶命令
基本用法:useradd [選項(xiàng)]... 用戶名
常用選項(xiàng):-u uid : 創(chuàng)建用戶同時(shí)指定用戶的UID
-g gid : 創(chuàng)建用戶的同時(shí)指定其基本組GID
-r : 創(chuàng)建一個(gè)系統(tǒng)用戶
-c comment : 創(chuàng)建用戶時(shí)標(biāo)注注釋信息
-d dir :創(chuàng)建用戶時(shí)指定家目錄的路徑
-s shell : 創(chuàng)建用戶時(shí)指定默認(rèn)登陸shell(***是/etc/shells中有的)
-G gid :創(chuàng)建用戶時(shí)指定這個(gè)的附加組,有多個(gè)附加組有逗號(hào)隔開(kāi)
-M :創(chuàng)建用戶時(shí)不創(chuàng)建用戶家目錄
-D : 顯示添加用戶時(shí)的默認(rèn)屬性或設(shè)置更改默認(rèn)屬性
-f :非活動(dòng)期限,0:非活動(dòng)啟用 -1:非活動(dòng)禁用
實(shí)例:#useradd -u 1008 -g 1008 gentoo (此組要事先存在)
#useradd -r fedora
#useradd -c 'slackware linux' slackware
#useradd -d /var/tmp/debain -s /sbin/nologin debain(***是SELinux關(guān)掉)
#useradd -G gentoo,slackware zen
#useradd -M docker
#useradd -D -f 0 修改的是/etc/default/useradd文件中的值
usermod 修改用戶相關(guān)屬性的命令
基本用法:usermod [選項(xiàng)]... 用戶名
常用選項(xiàng):-u uid : 更改用戶的uid
-g group :更改用戶的基本組
-G -a :常結(jié)合在一起使用(否則回覆蓋),更改用戶的附加組
-c comment:更改注釋信息
-d -m :常結(jié)合在一起使用,更改家目錄,并將家目錄中的文件一起轉(zhuǎn)移
-l newname: 更改新的用戶名
-s shell:更改用戶的shell
-L :鎖定用戶
-U : 解鎖用戶
實(shí)例:#usermod -g zen docker
#usermod -aG zen,slackware mysql
#usermod -d /path/to/mysql -m mysql
#usermod -l mysqldb mysql
userdel 刪除用戶命令
常用選項(xiàng):-r :刪除用戶同時(shí)其家目錄的文件一起刪除,默認(rèn)不刪出家目錄文件
passwd 密碼管理命令
基本語(yǔ)法:passwd [選項(xiàng)]... [用戶]
常用選項(xiàng):-l :鎖定用戶
-u : 解鎖用戶
-d : 刪除密碼
-e data :密碼過(guò)期期限
-i days :非活動(dòng)期限
-n days :密碼最短期限
-x days :最長(zhǎng)期限
-w days :警告期限
--stdin :從標(biāo)準(zhǔn)輸入獲取,作為密碼
實(shí)例:#echo 'centos' | passwd --stdin username &> /dev/null
gpasswd 組密碼管理命令
基本語(yǔ)法:gpasswd [選項(xiàng)]... [組名]
常用選項(xiàng):-a username :向組中添加用戶
-d username ; 從組中刪除用戶
不加選項(xiàng),直接給當(dāng)前用戶組或指定組,設(shè)置密碼。組密碼,常用于某用戶需要登陸或臨時(shí)切換至某組時(shí)使用;如果某用戶是某組的成員,則不需要密碼直接可以登陸或切換。
newgrp 用戶登陸或臨時(shí)切換至一個(gè)組的命令
實(shí)例:#newgrp - group #登陸group組
#newgrp group #臨時(shí)切換至group這個(gè)組
chage 更改密碼的過(guò)期期限信息
基本用法:chage [選項(xiàng)]... 用戶名
常用選項(xiàng):-l :列出用戶的密碼期限信息
-d :上次密碼修改的日期
-E :過(guò)期期限
-W :警告期限
-m :***期限
-M :最長(zhǎng)期限
-i :非活動(dòng)期限
id 顯示實(shí)際和有效的ID
基本用法:id [選項(xiàng)]... 用戶名
常用選項(xiàng):-u:顯示UID
-g :顯示gid
-G :顯示基本組和附加組的gid
-n :結(jié)合前面的選項(xiàng),顯示名稱而非ID
su 切換用戶命令
登陸式切換
非登陸式切換
常用選項(xiàng):-c ‘command’不切換登陸,僅以指定用戶的身份運(yùn)行此處指定的command命令
實(shí)例:#su - username -c 'whoami'