1.使用者管理簡介
所以越是對伺服器安全性要求高的伺服器,越需要建立合理的使用者許可權等級制度和伺服器操作規範。
在linux中主要是通過使用者配置檔案來檢視和修改使用者資訊。
1.1 ./etc/passwd
第一字段:使用者名稱
第二字段:密碼標誌
第三字段:uid(使用者id)
0: 超級使用者
1-499:系統使用者(偽使用者)
500-65535:普通使用者
第四字段:gid(使用者初始組id)
->附加組:指使用者可以加入多個其他的使用者組,並擁有這些組的許可權,附加組可以有多個。
第五字段:使用者說明
第六字段:家目錄
->普通使用者:/home/使用者名稱/
->超級使用者:/root/
第七字段:登入之後的shell
->shell就是linux的命令直譯器
->在/etc/passwd/中,除了標準shell是/bin/bash之外,還可以寫入/sbin/nologin
1.2 影子檔案 /etc/shadow
第一字段:使用者名稱
第二字段:加密密碼
->加密演算法公升級為sha512雜湊加密演算法
->如果密碼位是"!!"或"*"代表沒有密碼,不能登入
第三字段:密碼最後一次修改日期
->使用2023年1月1日作為標準時間,每過一天時間戳加1
第四字段:兩次密碼的修改間隔時間(和第三字段相比)
第五字段:密碼有效期(和第三字段相比)
第六字段:密碼修改到期前提示的警告天數(和第五字段相比)
第七字段:密碼到期後的寬限天數(和第5欄位相比)
-> 0: 代表密碼過期後立即失效
-> 1:代表密碼永遠不會失效
第八字段:賬號失效時間
->要用時間戳表示
第九字段:保留
時間戳換算
->把時間戳換算為日期
date -d "1970-01-01 166076 days"
->把日期換算為時間戳
echo $(($(date --date="2014/01/06" +%s)/86400+1))
1.3 組資訊檔案/etc/group
第一字段:組名
第二字段:組密碼標誌
第三字段:gid
第四字段:組中附加使用者
1.4.組密碼檔案/etc/gshadow
第一字段:組名
第二字段:組密碼
第三字段:組管理員使用者名稱
第四字段:組中附加使用者
2.使用者管理相關檔案(自動新增)
2.1 使用者的家目錄
普通使用者:/home/使用者名稱/,所有者和所屬組都是此使用者,許可權是700
超級使用者:/root/,所有者和所屬組都是root使用者,許可權是550
2.2 使用者的郵箱
-> /var/spool/mail/使用者名稱/
2.3 使用者模板目錄
-> /etc/skel/
3. 使用者管理命令
3.1 使用者新增命令 useradd
-> useradd [選項] 使用者名稱
選項:-u uid: 手工指定使用者的uid號
-d 家目錄: 手工指定使用者的家目錄
-c 使用者說明: 手工指定使用者的說明
-g 組名: 手工指定使用者的初始組
-g 組名: 指定使用者的附加組
-s shell: 手工指定使用者的登入shell。預設是/bin/bash
3.2 新增預設使用者
useradd sc
grep sc /etc/passwd
grep sc /etc/shadow
grep sc /etc/group
grep sc /etc/gshadow
grep sc /
3.3 指定選項新增使用者
-> useradd -u 550 -g root,bin -d /home/lamp1 \
-c "test user" -s /bin/bash sc
3.4 使用者預設值檔案
-> /etc/default/useradd
-> group=100 #使用者預設組
-> home=/home#使用者家目錄
-> inactive=-1#密碼過期寬限天數(shadow檔案7欄位)
->expire= #密碼失效時間(8)
->shell=/bin/bash #預設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# 加密模式
4 修改使用者密碼passwd
1.passwd命令格式
passwd [選項] 使用者名稱 (一般passwd什麼都不需要跟,就直接加使用者名稱就可以了)
選項:-s 查詢使用者密碼的狀態
-l 鎖定使用者
-u 解鎖使用者
echo "123"|passwd --stdin lamp (常用於shell程式設計批量新增密碼,明文密碼,每個使用者登入後最好要修改為自己的密碼)
5、修改使用者資訊usermod 修改使用者密碼狀態chage
usermod -c 」test user「 -g root -u 550 lamp(跟useradd的區別就是修改已經存在的使用者)
-l -u 鎖定和解鎖使用者
6、修改使用者密碼狀態chage
chage [選項] 使用者名稱
選項:-l
列出使用者的詳細密碼狀態
-d 日期: 修改密碼最後一次更改日期 chage -d 0 lamp (要求新使用者一登入 就要修改密碼)
-m 天數: 兩次密碼修改間隔(4欄位)
-m 天數: 密碼有效期(5欄位)
-w 天數: 密碼過期前警告天數(6欄位)
-i 天數: 密碼過後寬限天數(7欄位)
-e 日期: 賬號失效時間(8欄位)
7、刪除使用者 userdel
使用者切換命令 su
userdel [-r] 使用者名稱
選項:-r刪除使用者的同時刪除使用者家目錄
手工刪除使用者
vi /etc/passwd
vi /etc/shadow
vi /etc/group
vi /etc/gshadow
rm -rf /var/spool/mail/lamp
rm -rf /home/lamp/
檢視使用者id id 使用者名稱
8、切換使用者身份 su
su [選項] 使用者名稱
選項:
- : 選項只使用「-」 代表連帶使用者的環境變數一起切換
-c 命令: 僅執行一次命令,而不切換使用者身份
su -root -c "useradd user3"
不切換成root,但是執行useradd命令新增user3
使用者組管理命令
1.新增使用者組
groupadd [選項] 組名
選項:-g gid: 指定組id
2.修改使用者組
groupmod [選項] 組名
選項:-g gid: 修改組id
-n 新組名: 修改組名
groupmod -n testgrp group1
#把組名group1修改為testgrp
3.刪除使用者組(不允許組中有初始使用者)
groupdel 組名
4、把使用者新增入組或者從組中刪除
gpasswd 選項 組名(附加使用者)
選項:-a 使用者名稱:把使用者新增到組中
-d 使用者名稱:把使用者從組中刪除
使用者和使用者組管理
useradd 建立使用者賬戶 adduser 是useradd命令的符號鏈結 newuser 更新和批量建立新使用者 lnewuser 使用lnewusers命令可以從標準輸入中讀取資料來建立賬戶 usermod 修改使用者賬戶屬性 userdel 刪除使用者賬戶 groupadd 建立組群 gr...
使用者和使用者組管理
1 useradd命令 1 使用useradd命令新增使用者 檢視使用者賬號檔案 檢視使用者影子檔案 檢視使用者組賬號檔案 檢視家目錄中的使用者資訊 3 useradd的選項 u 手工指定使用者的uid。d 手工指定使用者的家目錄。c 指定使用者說明 g 手工指定使用者的初始組 g 指定使用者的附加...
使用者和使用者組管理
使用者資訊檔案 etc passwd 第四個字段 gid 使用者初始組id 附加組 指使用者可以加入多個其他的使用者組,並擁有這些組的許可權,附加組可以有多個 第五個字段 使用者說明 第六個字段 家目錄 第七個字段 登陸之後的shell 影子檔案 etc shadow 第八個字段 賬號失效時間 第九...