Linux基礎-8day-Linux用戶與組

Linux用戶與組

1、用戶及組說明

Linux系統通過ID實現對用戶及組的管理。使用賬號、密碼登錄系統後,操作系統會將用戶名轉化爲ID號進行判斷該賬號是否存在,並對密碼進行匹配。Linux系統中,用戶ID被稱爲UID,組ID被稱爲GID。UID爲0,代表超級用戶,默認root。1-499爲系統預留,我們創建的普通用戶ID從500開始。

Linux操作系統中組分爲基本組以及附加組。一個用戶同時僅可以加入一個基本組,但可同時加入多個附加組。默認在創建用戶時,系統默認同時會創建一個同名的組(用戶私有組),並設置用戶加入該基本組中。

1.1賬戶分類

(1)超級用戶:UID爲0,默認爲root,對系統有完整控制權限。

(2)普通用戶:UID非0,普通用戶分爲系統用戶及真實用戶。

A、系統用戶:UID1-499,系統預留使用。(部分軟件調用系統用戶後纔可使用)

B、真實用戶:UID500-65535或500-2的32次方減1。(默認500-60000)/etc/login.defs,查看UID默認值。

1.2組分類

1)超級用戶組:GID爲0,屬於超級用戶組的成員,不具備系統管理員權限;

2)系統分組:GID1-499,系統本身提供的某些服務;

3)用戶自定義組:GID500-65535(默認500-60000).

1.3用戶、組相關文件

1)/etc/passwd存放用戶賬號基本信息的配置文件

每行定義一個用戶賬號,有多少行就表示多少個賬號,每一行各內容之間又通過”:”號劃分了7個字段,這7個字段分別定義賬號的不同屬性。

各字段含義:

Eg:root:x:0:0:root:/root:/bin/bash

字段1:帳號名,用戶登陸時使用的賬戶名稱,唯一不可重複;

字段2:密碼佔位符:是否需要驗證密碼;有x系統會到/etc/shadow,查找密碼進行驗證;無x,不需要密碼,但無法遠程登錄;

字段3:UID;範圍是0-65535;

字段4:GID;範圍是0-65535;當添加用戶時,默認情況下會同時建立一個與用戶同名且UID和GID相同的組。

字段5:用戶說明;信息、名稱、表示、解釋。

字段6:宿主目錄;用戶登陸後首先進入的目錄,一般與"/home/用戶名"這樣的目錄

字段7:登錄Shell;當前用戶登陸後所使用的shell,在centos、rhel系統中,默認的shell是bash;如果不希望用戶登陸系統,可以通過usermod
或者手動修改passwd設置,將該字段設置爲/sbin/nologin 即可。出於安全考慮,大多數內置系統賬戶都是/sbin/nologin,這表示禁止登陸系統。

2)/etc/shadow用戶影子口令文件

存儲 Linux 系統中用戶的密碼信息。 由於/etc/passwd 文件允許所有用戶讀取,易導致用戶密碼泄露,因此Linux系統將用戶的密碼信息從 /etc/passwd文件中分離出來,並單獨放到了此文件中。該文件只有 root 用戶擁有讀權限,其他用戶沒有任何權限,這樣就保證了用戶密碼的安全性。

shadow文件的每一行內容,也是以冒號(:)作爲分隔符,共9個字段。

各字段含義:

 Eg:mail:*:15980:0:99999:7:::

字段1:帳號名稱

字段2:加密的密碼,linux系統使用SHA512 散列加密算法。

注:該串密碼產生的亂碼不能手工修改,如果手工修改,系統將無法識別密碼,導致密碼失效。很多軟件透過這個功能,在密碼串前加上 "!"、"*" 或 "x" 使密碼暫時失效。所有僞用戶的密碼都是 "!!" 或 "*",代表沒有密碼是不能登錄的。

字段3:最近更改密碼的時間;從1970/1/1到上次修改密碼的天數

字段4:禁止修改密碼的天數;從1970/1/1開始,多少天之內不能修改密碼,默認值爲0

字段5:用戶必須更改口令的天數;密碼的最長有效天數,默認值爲99999

字段6:警告更改密碼的期限;密碼過期之前警告天數,默認值爲7;在用戶密碼過期前多少天提醒用戶更改密碼

字段7:不活動時間;密碼過期之後賬戶寬限時間 3+5;在用戶密碼過期之後到禁用賬戶的天數

字段8:帳號失效時間,默認值爲空;從1970/1/1日起,到用戶被禁用的天數

字段9:保留字段(未使用),標誌

3)/etc/group 用戶組配置文件

/etc/group用戶組配置文件,其文件權限也是644。內容包括用戶與用戶組,能顯示用戶歸屬哪個用戶組,一個用戶可以歸屬一個或多個不同的用戶組;同一用戶組的用戶之間具有相似的特性。如果某個用戶下有對系統管理有最重要的內容,最好讓用戶擁有獨立的用戶組,或者是把用戶下的文件的權限設置爲完全私有;root用戶組一般不要輕易將普通用戶加入。

各字段含義:

bin:x:1:bin,daemon

字段1:組賬戶名稱

字段2:密碼佔位符x;通常不需要設置該密碼,由於安全原因,該密碼被記錄在/etc/gshadow中,因此顯示爲'x'。這類似/etc/shadow

字段3:組賬戶GID號,用戶組ID

字段4:本組的成員用戶列表;加入這個組的所有用戶賬號

4)/etc/gshadow 用戶組的影子文件

/etc/gshaow是/etc/group的加密文件,用戶組的管理密碼就是存放在這個文件。

各字段含義:

bin:::bin,daemon

字段1:組賬號的名稱

字段2:加密後的密碼字符串,這個字段可以空的或者!;如果是空的或有!,表示沒有密碼

字段3:本組的管理員列表;這個字段也可爲空;如果有多個用戶組管理員,用,號分隔

字段4:本組的成員列表;加入這個組的所有用戶賬戶;列表中多個用戶通過","分隔

(5)/etc/login.defs

/etc/login.defs文件是用來定義創建用戶時需要的用戶的配置文件。如創建用戶時,是否需要家目錄,UID和GID的範圍,用戶及密碼的有效期限等

默認參數選項:

MAIL_DIR        /var/spool/mail  #創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件 
PASS_MAX_DAYS   99999   #一個密碼最長可以使用的天數
PASS_MIN_DAYS   0    #更改密碼的最小天數
PASS_MIN_LEN    5    #密碼的最小長度
PASS_WARN_AGE   7    #密碼失效提前多少天開始警告
UID_MIN     500   #最小UID爲500,也就是說添加用戶時,UID是從500開始的
UID_MAX     60000   #最大UID爲60000
GID_MIN     500   #GID依然是從500開始;同上面用戶的情況
GID_MAX    60000
CREATE_HOME     yes   #是否創建用戶家目錄,默認要求創建;可用-m參數來控制
USERGROUPS_ENAB yes     #刪除用戶同時刪除用戶組 
MD5_CRYPT_ENAB yes     #MD5密碼加密

2.1用戶管理

2.1.1用戶創建useradd命令

描述:創建用戶。

用法:useradd [選項] [用戶名稱] 

主要參數:

參數

功能

-c

設置賬號描述信息,一般爲賬戶全稱

-d

設置賬戶家目錄,默認在/home/用戶名

-e

設置賬戶失效日期,格式YYYY-MM-DD

-g

設置賬戶基本組

-G

設置賬戶附加組,多個附加組中間用逗號分隔

-M

不創建家目錄,一般與-s結合使用

-s

設置賬戶登錄shell,默認爲bash

-u

指定賬戶UID

-n

默認情況下,用戶的用戶組和用戶的名稱會相同,如果命令加了-n參數,就不會生成和用戶同名的用戶組

-r

用來建立系統賬戶。

 

Eg:

1)創建用戶test,設置賬戶描述,hello world

[root@test ~]# useradd test -c "hello world"

2)創建用戶admin,全名administrator,家目錄/home/admin/,賬戶失效日期2020.02.28,賬戶基本組root,附加組bin、adm。

[root@test ~]#useradd -c administrator -d /home/admin -e 2020-02-28 -g root -G bin,adm admin

(3)創建用戶test1,無法登陸系統且沒有加目錄

[root@test ~]# useradd -s /sbin/nologin -M test1

2.1.2用戶修改usermod命令

描述:用戶信息修改。

用法:usermod [選項] [用戶名稱] 

主要參數:

參數

功能

-c

指定註釋信息

-d -m

-d一般跟-m使用,既指定新的家目錄位置,又移動其此前的文件至新的家目錄當中

-e

指定賬號失效時間

-g

指定所屬的基本組(組名或GID)

-a -G GID

不使用-a選項,會覆蓋此前的附加組;

-l

更改用戶賬號的登陸名稱

-L

鎖定用戶賬號

-s

指定用戶登錄Shell

-u

指定UID標誌號

-U

解鎖用戶賬號

Eg:

(1)修改test用戶名爲test1

[root@test ~]#usermod -l test1 test

(2)鎖定test1賬戶

[root@test ~]#usermod -L test1

描述:刪除用戶。

用法:usedel [-r] [用戶名稱] 

主要參數:

參數

功能

-r

刪除賬號及相關文件

Eg:

1)刪除test用戶,但不刪除賬戶相關文件

[root@test ~]#userdel test

2)刪除test用戶,同時刪除賬戶相關文件

[root@test ~]#userdel -r test

2.2.1創建組賬戶groupadd命令

描述:創建組帳戶。

用法:groupadd [選項] [組賬戶名稱] 

主要參數:

參數

功能

-g gid

指定組ID號

-o

允許組ID號,不必唯一

-r

添加系統組,低於499系統賬戶

Eg:

1)創建test組

[root@test ~]# groupadd test

(2)創建GID爲50000的test1組

[root@test ~]# groupadd -g 50000 test1

2.2.2組賬戶修改groupmod命令

描述:組帳戶修改。

用法:groupmod [選項] [組賬戶名稱] 

主要參數:

參數

功能

-g gid

修改組ID號

-n 新組名

修改組名稱

Eg:

1)修改test組名稱爲test1

[root@test ~]# groupmod -n test1 tset

2)修改test1組的組ID爲49999

[root@test ~]# groupmod -g 49999 test1

描述:組帳戶刪除。

用法:groupdel [組賬戶名稱] 

Eg:

1)刪除test組

[root@test ~]# groupdel tset

2.3.1 passwd命令

描述:修改賬戶認證信息。

用法:passedl [選項] [賬戶名稱] 

主要參數:

參數

功能

-l

鎖定賬戶,僅root用戶可用

--stdin

從文件或管道讀取密碼

-u

解鎖賬戶

-d

快速清空賬戶密碼,僅root可使用此選項

-e

終止用戶密碼

-n 天數

設置該用戶修改密碼後,多長時間不能再次修改, /etc/shadow 文件中各行密碼的第 4 個字段

-x 天數

設置該用戶的密碼有效期,對應 /etc/shadow 文件中各行密碼的第 5 個字段

-w 天數

置用戶密碼過期前的警告天數,對於 /etc/shadow 文件中各行密碼的第 6 個字段

-i 日期

設置用戶密碼失效日期,對應 /etc/shadow 文件中各行密碼的第 7 個字段

Eg:

1)設置test用戶密碼

[root@test ~]#passwd tset

2)設置test的密碼爲“123456”

[root@test ~]#echo “123456” |passwd --stdin test

(3)鎖定test用戶

[root@test ~]#passwd -l tset

(4)解鎖test用戶

[root@test ~]#passwd -u tset

2.4指定用戶要管理的工作組

2.4.1 gpasswd命令

描述:指定用戶要管理的工作組

用法:gpassedl [選項] [賬戶名稱] 

主要參數:

參數

功能

-a

添加用戶到組

-d

從組中刪除用戶

-A

指定組管理員

-r

刪除密碼

-R

限制用戶登入該組

Eg:

(1)test用戶加入到test1組

[root@test ~]#gpasswd -a test test1

(2)test設置爲tes1組的管理員

[root@test ~]#gpasswd -A test test1

 個人公衆號:

image.png

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章