使用者資訊檔案/etc/passwd
影子檔案/etc/group
組資訊檔案/etc/group和組密碼檔案/etc/gshadow
在linux中主要是通過使用者配置檔案來檢視和修改使用者資訊
/etc/passwd
第1欄位:使用者名稱
第2欄位:密碼標誌(有x表示有密碼)
第3欄位:uid(使用者id)
0: 超級使用者
1-499: 系統使用者(偽使用者)
500-65535: 普通使用者
第4欄位:gid(使用者初始組id)
第5欄位:使用者說明
第6欄位:家目錄
普通使用者:/home/使用者名稱/
超級使用者:/root/
第7欄位:登入之後的shell
初始組和附加組
每個使用者都有初始組,並且只有乙個。使用者可以加入其它多個附加組,並擁有這些組的許可權
shell是什麼?
shell就是linux的命令直譯器
在/etc/passwd當中,除了標準shell是/bin/bash外,還可以寫如/sbin/nologin
影子檔案/etc/shadow
第1欄位:使用者名稱
第2欄位:加密密碼
加密演算法公升級為sha512雜湊加密演算法
如果密碼是「!!」或「*」代表沒有密碼,不能登入
第3欄位:密碼最後一次修改日期
使用2023年1月1日作為標準時間,每過一天時間戳加1
第4欄位:兩次密碼的修改間隔時間(和第3欄位相比)
第5欄位:密碼有效期(和第3欄位相比)
第6欄位:密碼修改到期前的警告天數(和第5欄位相比)
第7欄位:密碼過期後的寬限天數(和第5欄位相比)
0: 代表密碼過期後立即失效
-1:代表密碼永遠不會失效
第8欄位:賬號失效時間
要用時間戳表示
第9欄位:保留
時間戳換算
把時間戳換算為日期
date -d 「1970-01-01 16066 days」
把日期換算為時間戳
echo $(($(date --date=」2014/01/06」+%s)/86400+1))
組資訊檔案/etc/group和組密碼檔案/etc/gshadow
使用者的家目錄(新增使用者的同時自動生成)
普通使用者:/home/使用者名稱/,所有者和所屬組都是此使用者,許可權是700
超級使用者:/root/,所有者和所屬組都是root使用者,許可權是550
使用者的郵箱
/var/spool/mail/使用者名稱/ (新增使用者的同時自動生成)
使用者模板目錄
/etc/skel/
useradd命令格式
# useradd 【選項】使用者名稱
選項:-u: 手工指定使用者的uid號
-d: 手工指定使用者的家目錄
-c: 手工指定使用者的說明
-g: 手工指定使用者的初始組
-g: 指定使用者的附加組
-s: 手工指定使用者的登入shell,預設是/bin/bash
新增預設使用者
指定選項新增使用者
使用者預設值檔案(以下兩個)
/etc/default/useradd
group=100 使用者預設組
home=/home 使用者家目錄
inactive=-1 密碼過期寬限天數(shadow檔案7欄位)
expire= 密碼失效時間(8欄位)
shell=/bin/bash 預設shell
skel=/etc/skel 模板目錄
creat_mail_spool=yes 是否建立郵箱
/etc/login.defs
pass_max_days 99999 密碼有效期
等等。# passwd 【選項】 使用者名稱
選項:-s
查詢使用者密碼的密碼狀態。僅root使用者可用
-l
暫時鎖定使用者。僅root使用者可用
-u
解鎖使用者。僅root使用者可用
--stdin 可以通過管道符輸出的資料作為使用者的密碼
使用字串作為使用者的密碼(多用於shell程式設計,批量新增):# echo 「123」 | passwd –stdin user1
修改使用者資訊usermod
# usermod 【選項】 使用者名稱
-l 臨時鎖定使用者(lock)
-u 解鎖使用者鎖定(unlock)
-u -c -g等於useradd裡的選項一樣
修改使用者密碼狀態chage
# chage 【選項】 使用者名稱
-l 列出使用者的詳細密碼狀態
-d 修改密碼最後一次更新日期(shadow3欄位)
-m (4欄位)
-m (5欄位)
-w (6欄位)
-i (7欄位)
-e (8欄位)
# chage -d 0 user1
(用的較多的乙個選項)
該命令是把密碼修改日期歸0了(shadow3欄位),這樣使用者一登入就要修改密碼
刪除使用者userdel
# userdel 【-r】 使用者名稱
-r 刪除使用者的同時刪除使用者家目錄
也可通過手工修改以下使用者檔案的方式刪除使用者(但一般都用命令)
# vi /etc/passwd
# vi /etc/shadow
# vi /etc/group
# vi /etc/gshadow
# rm -rf /var/spool/mail/user1
# rm -rf /home/user1
檢視使用者id(使用者id,組id等)
# id 使用者名稱
切換使用者身份su
# su 【選項】 使用者名稱
-: 選項只使用「-」代表連帶使用者的環境變數一起切換
-c 僅執行一次命令,而不切換使用者身份
$ su – root -c 「useradd user2」
不切換成root,但是執行useradd命令新增user2使用者
新增使用者組
# groupadd 【選項】 組名
-g
: gid 指定組id
修改使用者組
# groupmod 【選項】 組名
-g
修改組id
-n
修改組名
# groupmod -n testgrp group1
(把組名group1修改為testgrp)
刪除使用者組(要刪除組,要求這個組中沒有初始使用者,即這個組不是其他使用者的初始組)
# groupdel 組名
把使用者新增入組或從組中刪除
# gpasswd 【選項】 組名
-a
使用者名稱:把使用者加入組
-d
使用者名稱:把使用者從組中刪除
例:# gpasswd -a user1 root
(將user1使用者加入root組)
Linux使用者和使用者組管理
1 linux使用者分為三類 1 root使用者 超級使用者 除登入系統外,可以作業系統任何檔案和命令,擁有最高許可權。2 虛擬使用者 偽使用者或假使用者 不能登入系統,但不可缺少,如bin daemon adm fpt mail。3 普通真實使用者 能登入系統,但只能操作其根目錄的內容,許可權受限...
linux使用者和使用者組管理
檔案內容格式 使用者名稱 密碼標誌 使用者id 初始組id 使用者說明 home目錄 登陸後的shell 使用者id id使用者型別 0root使用者 1 499 系統使用者 偽使用者 500 65535 普通使用者 home目錄 root使用者 root,許可權 550 普通使用者 home 使用...
Linux使用者和使用者組管理
linux系統是乙個多使用者多工的分時作業系統 詳細請看 每個使用者都有乙個使用者組,系統可以對乙個使用者組中的所有使用者進行集中管理。不同linux 系統對使用者組的規定有所不同,如linux下的使用者屬於與它同名的使用者組,這個使用者組在建立使用者時同時建立。使用者組的管理涉及使用者組的新增 刪...