man 5 passwd 查看配置文件功能
第1字段: 用戶名稱
第2字段: 密碼標(biāo)志 X代表有密碼 如果用戶沒有密碼,則只允許本地登錄
第3字段: UID(用戶ID)
0 超級(jí)用戶
1-499 系統(tǒng)用戶(偽用戶) 絕對(duì)不能刪
500-65535 普通用戶 改為0則變?yōu)楣芾韱T UID相同被視為同一個(gè)用戶
第4字段: GID(用戶初始組ID)
第5字段: 用戶說明
第6字段: 家目錄
普通用戶: /home/用戶名/
超級(jí)用戶: /root/
第7字段: 登錄之后的Shell
初始組:用戶一登錄就立刻擁有這個(gè)用戶組的相關(guān)權(quán)限,每個(gè)用戶的初始組只能有一個(gè),一般就是和這個(gè)用戶
的用戶名相同的組名作為這個(gè)用戶的初始組。
附加組:指用戶可以加入多個(gè)其他的用戶組,并擁有這些組的權(quán)限,附加組可以有多個(gè)。
Shell是什么?
Shell就是linux的命令解釋器
在/etc/passwd當(dāng)中,除了標(biāo)準(zhǔn)Shell是/bin/bash之外,還可以寫如/sbin/nologin
第1字段: 用戶名
第2字段: 加密密碼
>加密算法升級(jí)為SHA512散列加密算法
>如果密碼位是“!!”或“*”代表沒有密碼,不能登錄。
第3字段: 密碼最后一次修改日期
>使用1970年1月1日作為標(biāo)準(zhǔn)時(shí)間,每過一天時(shí)間戳加1
第4字段: 兩次密碼的修改間隔時(shí)間(和第3字段相比)
第5字段: 密碼有效期(和第3字段相比)
第6字段: 密碼修改到期前的警告天數(shù)(和第5字段相比)
第7字段: 密碼過期后的寬限天數(shù)(和第5字段相比)
>0代表密碼過期后立即失效 不寫則默認(rèn)為0
>-1代表密碼永遠(yuǎn)不會(huì)失效
第8字段: 帳號(hào)失效時(shí)間
>用時(shí)間戳表示
第9字段: 保留
把時(shí)間戳換算為日期 date -d "1970-01-01 16866 days" #16866是時(shí)間戳,基準(zhǔn)時(shí)間是1970-01-01
把日期換算為時(shí)間戳 echo $(($(date --date="2014/01/06" + %s)/86400 + 1)) #86400每天的秒
第1字段:組名
第2字段:組密碼標(biāo)志
第3字段:GID
第4字段:組中附加用戶
用的不多
第1字段:組名
第2字段:組密碼 用的不多,不推薦使用
第3字段:組管理員用戶名
第4字段:組中附加用戶
用戶信息全包含在這四個(gè)文件之中,可以通過修改這四個(gè)文件來對(duì)用戶做增刪查改的操作
1、用戶的家目錄 用戶的初始登錄位置
普通用戶: /home/用戶名/ 所有者和所屬組都是此用戶,權(quán)限是700
超級(jí)用戶: /root/ 所有者和所屬組都是root用戶,權(quán)限是550
2、用戶的郵箱
/var/spool/mail/用戶名/
3、用戶模板目錄
/etc/skel/ 創(chuàng)建新用戶時(shí),自動(dòng)將此目錄下的文件復(fù)制到新用戶的家目錄
useradd -u UID 手工指定用戶的UID號(hào)
-d 家目錄 手工指定用戶的家目錄
-c 用戶說明 手工指定用戶的說明
-g 初始組名 手工指定用戶的初始組
-G 附加組名 指定用戶的附加組
-s shell 手工指定用戶的登錄Shell。默認(rèn)是/bin/bash
useradd sc
passwd sc
grep sc /etc/passwd
grep sc /etc/shadow
grep sc /etc/group
grep sc /etc/gshadow
ll -d /home/sc
ll /var/spool/main/sc
useradd -u 666 -G root,bin -d /home/sc1 -c "test user" -s /bin/bash sc
用戶默認(rèn)值文件:
/etc/default/useradd
GROUP=100 #用戶默認(rèn)組
HOME=/home #用戶家目錄
INACTIVE=-1 #密碼過期天數(shù)(shadow文件7字段)
EXPIRE= #密碼失效時(shí)間(shadow文件8字段)
SHELL=/bin/bash #默認(rèn)shell
SKEL=/etc/skel #模板目錄
CREATE_MAIL_SPOOL=yes #是否建立郵箱
/etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 9999 #密碼有效期(5)
PASS_MIN_DAYS 0 #密碼修改間隔(4)
PASS_MIN_LEN 5 #密碼最小5位(PAM)默認(rèn)是8位
PASS_WARN_AGE 7 #密碼到期警告(6)
UID_MIN 500 #最大和最小UID范圍
UID_MAX 60000
GID_MIN 500 #最大和最小GID范圍
GID_MAX 60000
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512 #加密模式
passwd -選項(xiàng) 用戶名
-S 查詢用戶密碼的狀態(tài)。僅root用戶可用。
-l 暫時(shí)鎖定用戶。僅root可用 將shadow文件中,密碼項(xiàng)前加了!!
-u 解鎖用戶。僅root可用
--stdin 可以通過管道符輸出的數(shù)據(jù)作為用戶的密碼
whoami 查看當(dāng)前用戶名
echo "123" | passwd -stdin sc
將123作為sc用戶的密碼,用于Shell編程中
usermod -選項(xiàng) 用戶名
-u UID 修改用戶的UID號(hào)
-c 用戶說明 修改用戶的說明信息
-G 組名 修改用戶的附加組
-L 臨時(shí)鎖定用戶(lock) 密碼前加了!,使密碼失效
-U 解鎖用戶鎖定(Unlock)
change user passWord expiry information
change -選項(xiàng) 用戶名
-l 列出用戶的詳細(xì)密碼狀態(tài)
-d 日期 密碼最后一次更改日期(shadow 3字段)
-m 天數(shù) 兩次密碼修改間隔(4字段)
-M 天數(shù) 密碼有效期(5字段)
-W 天數(shù) 密碼過期前警告天數(shù)(6字段)
-I 天數(shù) 密碼過期后寬限天數(shù)(7字段)
-E 日期 帳號(hào)失效時(shí)間(8字段)
用vim修改更直觀
用的最多的是
chage -d 0 sc
#這個(gè)命令其實(shí)是把密碼修改日期歸零了(shadow第3字段)
#這樣用戶一登陸就要修改密碼
userdel -r 刪除用戶的同時(shí)刪除用戶家目錄
手工刪除用戶
vi /etc/passwd
vi /etc/shadow
vi /etc/group
vi /etc/gshadow
rm -rf /var/spool/mail/sc
rm -rf /home/sc
id 用戶名
查看用戶id 初始組id附加組id
run a Shell with substitute user and group IDs
env
查看用戶環(huán)境變量
su root #只切換了部分環(huán)境變量
su 選項(xiàng) 用戶名
- 連帶用戶的環(huán)境變量一起切換
-c 僅執(zhí)行一次命令,而不切換用戶身份
su - root -c "useradd user3"
不切換用戶身份,臨時(shí)調(diào)用一次root權(quán)限命令
exit 退出當(dāng)前用戶
添加用戶組
groupadd [選項(xiàng)]組名
-g GID 指定組ID
修改用戶組 不建議修改組名
groupmod [選項(xiàng)]組名
-g GID 指定組ID
-n 新組名
groupmod -n testgrp group1
把組名group1修改為testgrp
刪除用戶組
groupdel 組名
如果組中存在初始用戶,不能刪除此組
如果組中都是附加用戶,可以刪除
把附加用戶添加入組或從組中刪除
gpasswd -a 用戶名 組名#把用戶加入組
-d 用戶名 組名 #把用戶從組中刪除
新聞熱點(diǎn)
疑難解答
圖片精選