7 使用者和使用者組

2021-07-26 18:47:42 字數 4913 閱讀 8155

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...