使用者和使用者組管理

2021-07-10 12:32:41 字數 4103 閱讀 4687

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 第八個字段 賬號失效時間 第九...