man 5 passwd 檢視配置檔案功能
第1欄位: 使用者名稱
第2欄位: 密碼標誌
x代表有密碼 如果使用者沒有密碼,則只允許本地登入
第3欄位:
uid(使用者id)
0 超級使用者
1-499 系統使用者(偽使用者) 絕對不能刪
500-65535 普通使用者 改為
0則變為管理員
uid相同被視為同乙個使用者
第4欄位:
gid(使用者初始組id)
第5欄位: 使用者說明
第6欄位: 家目錄
普通使用者: /home/使用者名稱/
超級使用者: /root/
第7欄位: 登入之後的
shell
的使用者名稱相同的組名作為這個使用者的初始組。
附加組:指使用者可以加入多個其他的使用者組,並擁有這些組的許可權,附加組可以有多個。
shell是什麼?
shell就是
linux
的命令直譯器
在/etc/passwd當中,除了標準
shell
是/bin/bash
之外,還可以寫如
/sbin/nologin
第1欄位: 使用者名稱
第2欄位: 加密密碼
>加密演算法公升級為
sha512
雜湊加密演算法
>如果密碼位是「
!!」或「
*」代表沒有密碼,不能登入。
第3欄位: 密碼最後一次修改日期
>使用
2023年1
月1日作為標準時間,每過一天時間戳加1
第4欄位: 兩次密碼的修改間隔時間(和第
3欄位相比)
第5欄位: 密碼有效期(和第
3欄位相比)
第6欄位: 密碼修改到期前的警告天數(和第
5欄位相比)
第7欄位: 密碼過期後的寬限天數(和第
5欄位相比)
>0代表密碼過期後立即失效 不寫則預設為0
>-1代表密碼永遠不會失效
第8欄位: 帳號失效時間
>用時間戳表示
第9欄位: 保留
把時間戳換算為日期 date -d "1970-01-01 16866 days" #16866是時間戳,基準時間是
1970-01-01
把日期換算為時間戳 echo $(($(date --date="2014/01/06" + %s)/86400 + 1)) #86400 每天的秒
第1欄位
: 組名
第2欄位:組密碼標誌
第3欄位:
gid
第4欄位:組中附加使用者
用的不多
第1欄位:組名
第3欄位:組管理員使用者名稱
第4欄位:組中附加使用者
使用者資訊全包含在這四個檔案之中,可以通過修改這四個檔案來對使用者做增刪查改的操作
1、使用者的家目錄 使用者的初始登入位置
普通使用者: /home/使用者名稱
/
所有者和所屬組都是此使用者,許可權是
700
超級使用者: /root/ 所有者和所屬組都是
root
使用者,許可權是
550
2、使用者的郵箱
/var/spool/mail/使用者名稱/
3、使用者模板目錄
/etc/skel/ 建立新使用者時,自動將此目錄下的檔案複製到新使用者的家目錄
useradd -u uid 手工指定使用者的
uid號
-d 家目錄 手工指定使用者的家目錄
-c 使用者說明 手工指定使用者的說明
-g 初始組名 手工指定使用者的初始組
-g 附加組名 指定使用者的附加組
-s shell 手工指定使用者的登入
shell
。預設是
/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
使用者預設值檔案:
/etc/default/useradd
group=100 #使用者預設組
home=/home #使用者家目錄
inactive=-1 #密碼過期天數(
shadow檔案7
字段)
expire= #密碼失效時間(
shadow檔案8
字段)
shell=/bin/bash #預設
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)預設是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 -選項 使用者名稱
-s 查詢使用者密碼的狀態。僅
root
使用者可用。
-l 暫時鎖定使用者。僅
root
可用 將
shadow
檔案中,密碼項前加了!!
-u 解鎖使用者。僅
root可用
--stdin 可以通過管道符輸出的資料作為使用者的密碼
whoami 檢視當前使用者名稱
echo "123" | passwd -stdin sc
將123作為
sc使用者的密碼,用於
shell
程式設計中usermod -選項 使用者名稱
-u uid 修改使用者的
uid號
-c 使用者說明 修改使用者的說明資訊
-g 組名 修改使用者的附加組
-l 臨時鎖定使用者(
lock
) 密碼前加了!,使密碼失效
-u 解鎖使用者鎖定(unlock)
change user password expiry information
change -選項 使用者名稱
-l 列出使用者的詳細密碼狀態
-d 日期 密碼最後一次更改日期(
shadow 3
字段)
-m 天數 兩次密碼修改間隔(
4欄位)
-m 天數 密碼有效期(
5欄位)
-w 天數 密碼過期前警告天數(
6欄位)
-i 天數 密碼過期後寬限天數(
7欄位)
-e 日期 帳號失效時間(
8欄位)
用vim修改更直觀
用的最多的是
chage -d 0 sc
#這個命令其實是把密碼修改日期歸零了(
shadow第3
字段)
#這樣使用者一登陸就要修改密碼
userdel -r
刪除使用者的同時刪除使用者家目錄
手工刪除使用者
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 附加組
idrun a shell with substitute user and group ids
env
檢視使用者環境變數
su root #只切換了部分環境變數
su 選項 使用者名稱
- 連帶使用者的環境變數一起切換
-c 僅執行一次命令,而不切換使用者身份
su - root -c "useradd user3"
不切換使用者身份,臨時呼叫一次root許可權命令
exit 退出當前使用者
新增使用者組
groupadd [選項
] 組名
-g gid 指定組id
修改使用者組
不建議修改組名
groupmod [選項
] 組名
-g gid 指定組id
-n 新組名
groupmod -n testgrp group1
把組名group1修改為
testgrp
刪除使用者組
groupdel 組名
如果組中存在初始使用者,不能刪除此組
如果組中都是附加使用者,可以刪除
把附加使用者新增入組或從組中刪除
gpasswd -a
使用者名稱 組名
#把使用者加入組
-d 使用者名稱 組名
#把使用者從組中刪除
使用者和使用者組
許可權 建立user1和user1組,並且user1和user1組擁有ssh登陸許可權。假如 擁有ssh登陸許可權的組為test,不想新建user1使用者對應的組。在新建user1使用者後,指定user1的組為test即可。擴充套件 乙個使用者可以屬於多個組,不過有個主屬組而已。受定式思維影響 以為...
使用者和使用者組
使用者資訊檔案 etc passwd 影子檔案 etc shadow 組資訊檔案 etc group 組密碼檔案 etc gshadow root localhost vim etc passwd root x 0 0 root root bin bash bin x 1 1 bin bin sbi...
bilibili Linux7 使用者和使用者組管理
第四個字段 gid 使用者初始組id 附加組 指使用者可以加入多個其他的使用者組,並擁有這些組的許可權,附加組可以有多個 第五個字段 使用者說明 第六個字段 家目錄 第七個字段 登陸之後的shell shell就是linux的命令直譯器 在 etc passwd當中,除了標準shell是 bin b...