7.1用戶配置文件
7.1.1用戶信息文件 etc/passwd
1、用戶管理簡介
◆所以越是對服務(wù)器安全性要求高的服務(wù)器坑匠,越需要建立合理的用戶權(quán)限等級制度和服務(wù)器操作規(guī)范血崭。
◆在Linux中主要是通過用戶配置文件來查看和修改用戶信息
2、/etc/ passwd :用戶基本信息文件(一共7個字段)(
more /etc/passwd)
如: root:x:0:0:root:/root:/bin/bash
◆第1字段:用戶名稱
◆第2字段:x密碼標(biāo)志,表示它是有密碼的笛辟,存放在/etc/shadow中
◆第3字段:UID(用戶ID)
0:超級用戶
1-499:系統(tǒng)用戶(偽用戶)
500-65535:普通用戶
◆第4字段:GID(用戶初始組ID)
◆第5字段:用戶說明
◆第6字段:家目錄
普通用戶:/home/用戶名/
超級用戶:/root
◆第7字段:登錄之后的 Shell
3功氨、初始組和附加組
◆初始組:就是指用戶一登錄就立刻擁有這個用戶組的相關(guān)權(quán)限,每個用戶的初始組只能有一個手幢,一般就是和這個用戶的用戶名相同的組名作為這個用戶的初始組捷凄。每個人必須有一個用戶組且只能有一個
◆附加組:指用戶可以加入多個其他的用戶組,并擁有這些組的權(quán)限围来,附加組可以有多個
4跺涤、Shell是什么
◆Shell是 Linux的命令解釋器匈睁。
◆在 etc/passwd當(dāng)中,除了標(biāo)準(zhǔn)Shell是/ bin /bash之外(普通用戶和超級用戶都是這個桶错,才可以正常登錄)航唆,還可以寫如/sbin/ nologin(偽用戶-禁止登錄)。
7.1.2用戶配置文件-影子文件/etc/shadow
看通過命令:ll /etc/passwd 看權(quán)限?
ll /etc/shadow 看權(quán)限(在shadow中保護的是加密的密碼串)
vim /etc/shadow
可以看到如下信息:
1 root:$6$e9Gr95N8uPZGB6D8$dDoz1ABUn2EaKPt3B75Yi.HvlO2.1IvjR? ? 2/OI/CdJbSowAXcyQRoONQ1dUpJHlCQ8MVRyFBNw4c/B5ElCkB7m/:18384:0:99999:7:::
2 bin:*:17246:0:99999:7:::
····················································································
1院刁、影子文件/etc/ shadow
◆第1字段:用戶名
◆第2字段:加密密碼
加密算法升級為SHA512散列加密算法
如果密碼位是“!!”或“*”代表沒有密碼糯钙,不能登錄
◆第3字段:密碼最后一次修改日期
使用1970年1月1日作為標(biāo)準(zhǔn)時間,每過一天時間戳加1
◆第4字段:兩次密碼的修改間隔時間(和第3字段相比)
◆第5字段:密碼有效期(和第3字段相比)
◆第6字段:密碼修改到期前的警告天數(shù)(
和第5字段相比)
◆第7字段:密碼過期后的寬限天數(shù)(和第5字段相比)
0:代表密碼過期后立即失效(沒寫也是退腥,到期后就會失效)
-1:則代表密碼永遠(yuǎn)不會失效
◆第8字段:賬號失效時間
要用時間戳表示
◆第9字段:保留
2任岸、時間戳換算
◆把時間戳換算為日期
命令:date -d "1970-01-01 16066 days"
只要改掉里面的時間戳“16066”,就可以計算相應(yīng)日期了
◆把日期換算為時間戳
echo $(($(date --date="2014/01/06" +%s)/86400+1))
表示:把當(dāng)前的是時間2014-1-6號 加 %s換算成秒(與1970-1-1相比過去了多少秒)狡刘,之后除以一天的秒數(shù)86400享潜,之后加1疯趟,就可以得到時間戳
7.1.3用戶配置文件組信息文件 etc/group和組密碼文件/etc/gshadow
1匈织、組信息文件 /etc/group
◆第一字段:組名
◆第二字段:組密碼標(biāo)志
◆第三字段:GID
◆第四字段:組中附加用戶
2、組密碼文件 /etc/gshadow(不推薦使用)
第一字段:組名
第二字段:組密碼
第三字段:組管理員用戶名
第四字段:組中附加用戶
7.2用戶管理相關(guān)文件
普通用戶是$澜驮,超級用戶是#
1澜术、用戶的家目錄
◆普通用戶:home/用戶名/艺蝴,所有者和所屬組都是此用戶,權(quán)限是700
命令:ll /home/
可以看到有哪些普通用戶
如: home/usr1/ 是usr1的家目錄
◆超級用戶:/root/瘪板,所有者和所屬組都是root用戶吴趴,權(quán)限是550
命令:ll -d /root
可以看到超級用戶有哪些
將普通用戶變?yōu)槌売脩簦?/p>
vim /etc/passwd
然后把usr1的UID改為root用戶所在的組ID ,即改為0
如:usr1:x:0:502::/home/usr1:/bin/bash
登錄usr1侮攀,就可以看到提示符變?yōu)?锣枝,但是其家目錄(pwd)還是在/home/usr1下,只是改變了
2兰英、用戶的郵箱:/var/spool/mail/用戶名/
先 cd /val/spool/mail/
然后ls撇叁,可以看有哪些用戶有mail目錄
最后用 more 用戶名
就可以查看該用戶收到的郵件了
3、用戶模板目錄
◆/etc/skel/
添加用戶時自動創(chuàng)建的一些隱藏文件畦贸,是從這個目錄拷貝來的陨闹。
7.3用戶管理命令
7.3.1用戶添加命令useradd
1、 useradd命令格式
[root@localhost ~]# useradd [選項] 用戶名
如:useradd -g root usr1
新建一個用戶usr1并且加入root組
選項:
-u? UID:手工指定用戶的UID號
-d? 家目錄:手工指定用戶的家目錄
-c? 用戶說明:手工指定用戶的說明
-g? 組名:手工指定用戶的初始組
-G? 組名:指定用戶的附加組(可以多個)薄坏,用逗號做分隔符
-s shell:手工指定用戶的登錄 shell? 默認(rèn)是bin/bash
2趋厉、添加默認(rèn)用戶[root@localhost ~]# useradd sc
[root@localhost ~]# grep sc/etc/passwd
[root@localhost ~]# grep sc /etc/shadow
root @localhost】# grep sc/etc/group
[root@localhost ~]# grep sc /etc/gshadow
[root@localhost ~]# ll -d /home/用戶名? :看到家目錄
[root@localhost ~]# ll /var/spool/mail/用戶名 :郵箱
3、指定選項添加用戶
useradd -u 550 -G root, bin -d/home/lamp1 \
-c "test user" -s /bin/bash sc
其他沒寫的值胶坠,是在下面兩個默認(rèn)文件中的
4君账、用戶默認(rèn)值文件
vim /etc/default/useradd
GROUP=100? ? #用戶默認(rèn)組
HOME=/home? #用戶家目錄
INACTIVE=-1? #密碼過期寬限天數(shù)( shadow文件7字段)
EXPIRE=? ? #密碼失數(shù)時間(8)
SHELL= /bin/bash #默認(rèn) shell
SKEL= /etc/skel #模板目錄
CREATE_MAIL_SPOOL=yes? #是否建立郵箱
◆/etc/ login.defs
PASS_MAX_DAYS 99999#密碼有效期(5)
PASS_MIN DAYS 0 #密碼修改間隔(4)
PASS_MIN_LEN 5 #密碼最小5位(PAM)
PASS_WARN_AGE 7#密碼到期警告(6)
UID_MIN 500#最小和最大UID范國
GID_MAX 60000
ENCRYPT_METHOD SHA512#加密模式
7.3.2修改用戶密碼 passwd
1)# passwd [選項] 用戶名
注意:passwd 直接回車表示修改當(dāng)前用戶的密碼。普通用戶想要修改密碼就是要用這個方法
選項:
-S 查詢用戶密碼的密碼狀態(tài)沈善。僅root用戶可用乡数。
-l? 暫時鎖定用戶椭蹄。僅root用戶可用
如:passwd -l usr2 :鎖定之后,這個用戶就無法登陸了
-u 解鎖用戶净赴。僅root用戶可用
--stdin可以通過管道符輸出的數(shù)據(jù)作為用戶的密碼绳矩。
如:echo "124" | passwd --stdin lamp
表示lamp用戶用“124”作為密碼
2)查看密碼狀態(tài)
passwd -S lamp
結(jié)果:lamp PS 2013-01-06 0 99999 7 -1
用戶名密碼設(shè)定時間(201301-06)密碼修改間隔時間(0)
密碼有效期(99999) 警告時間(7)密碼不失效(-1)
7.3.3修改用戶信息 usermod
與useradd的區(qū)別是:useradd是增加新用戶的同時,可以修改其默認(rèn)信息玖翅。usermod是修改已經(jīng)存在的用戶的信息
[root@localhost ~]#usermod [選項] 用戶名
選項:
-u UID: 修改用戶的UID號
-c 用戶說明: 修改用戶的說明信息
-G 組名: 修改用戶的附加組
-L: 臨時鎖定用戶(Lock)
-U: 解鎖用戶鎖定(Unlock)
? [root@localhost ~]# usermod -c "test user" lamp
修改用戶的說明
? [root@localhost ~]# usermod -G root lamp
把lamp用戶加入root組
? [root@localhost ~]# usermod -L lamp
鎖定用戶
? [root@localhost ~]# usermod -U lamp
解鎖用戶
修改用戶密碼狀態(tài) chage
[root@localhost ~]#chage [選項] 用戶名
選項:
-l: 列出用戶的詳細(xì)密碼狀態(tài)
-d 日期: 修改密碼最后一次更改日期(shadow3字段)
-m 天數(shù):? 兩次密碼修改間隔(4字段)
-M 天數(shù): 密碼有效期(5字段)
-W 天數(shù): 密碼過期前警告天數(shù)(6字段)
-I 天數(shù): 密碼過后寬限天數(shù)(7字段)
-E 日期: 賬號失效時間(8字段)
如:[root@localhost ~]# chage -d 0 lamp?
這個命令其實是把密碼修改日期歸0了(shadow第3字段)#這樣就強制用戶一登陸就要修改密碼
7.3.4刪除用戶 userdel
1翼馆、刪除用戶userdel
[root@localhost ~]# userdel [-r] 用戶名
選項:?
-r 刪除用戶的同時刪除用戶家目錄?
如:userdel -r liming
手工刪除用戶
? [root@localhost ~]# vi /etc/passwd
? [root@localhost ~]# vi /etc/shadow
? [root@localhost ~]# vi /etc/group
? [root@localhost ~]# vi /etc/gshadow
? [root@localhost ~]# rm -rf /var/spool/mail/lamp
? [root@localhost ~]# rm -rf /home/lamp/
(刪除每一個目錄中,該用戶相關(guān)的信息烧栋,所在的行)
2写妥、查看用戶ID
[root@localhost ~]# id 用戶名
3、切換用戶身份su (whoami 命令可以查看當(dāng)前用戶是誰)
[root@localhost ~]# su [選項] 用戶名
選項:?
-? : 選項只使用“-”代表連帶用戶的環(huán)境變量一起切換? (env命令查看當(dāng)前環(huán)境變量)
-c 命令: 僅執(zhí)行一次命令审姓,而不切換用戶身份? 。暫時調(diào)用root身份祝峻,執(zhí)行root才能執(zhí)行的一些命令
[lamp@localhost ~]$ su? –? root
#切換成root? (一定要加“-”魔吐,這樣切換用戶時,才能連同操作環(huán)境一起切換莱找。exit退回前一個用戶)
[lamp@localhost ~]$ su - root -c "useradd user3"
#不切換成root酬姆,但是執(zhí)行useradd命令添加user1用戶
7.4、用戶組管理命令 more /etc/group
1奥溺、添加用戶組
[root@localhost ~]# groupadd [選項] 組名
選項:
-g GID? 指定組ID
2辞色、修改用戶組
[root@localhost ~]# groupmod [選項] 組名
選項:
-g GID? 修改組ID
-n 新組名 修改組名
例:[root@localhost ~]# groupmod -n testgrp group1
#把組名group1 修改為testgrp
3、刪除用戶組
[root@localhost ~]# groupdel [選項] 組名
tips:刪除組的時候浮定,組內(nèi)不允許有初始用戶存在相满。
$ groupadd lol
$ useradd -g lol timo
(添加一個新用戶timo,把它初始組改為lol)
$ useradd -G lol yasuo
添加一個新用戶yasuo桦卒,把它附加組改為lol
因為timo是初始組是lol立美。刪除lol會導(dǎo)致timo沒有初始組。所以不可刪方灾。需要先刪除用戶建蹄。
而yasuo是附加組≡3ィ可刪洞慎。
4、把用戶添加入組或從組中刪除
[root@localhost ~]# gpasswd [選項] 組名
選項:(gpasswd操作的是附加組)
-a 用戶名: 把用戶加入組
-d 用戶名: 把用戶從組中刪除
如:gpasswd -a liming root
把用戶liming加入root組
(可以在 /etc/group文件下看到 liming已經(jīng)加入root組)