Linux 新增使用者 ,帳號管理 ,群組管理 詳解

2021-05-27 13:10:15 字數 3897 閱讀 8245

一、 單個賬戶管理

先說說賬號的組成。每乙個帳戶都有擁有人和擁有組群兩個屬性,所以每個登陸的使用者至少有兩個id,即uid(user id)和gid(group id)。所有使用者的id都存放在/etc/passwd 中 例如 

fsy:x:500:500:fedora:/home/fsy:/bin/bash

資訊內容依次為:使用者名稱、密碼(乙個形式)、uid(uid為0時為root許可權)、gid、使用者資訊說明欄、家目錄、shell。使用者登陸的過程是這樣的:首先在/etc/passwd中尋找是否有相應的帳號,如果沒有則跳出,如果有的話則將該賬號對應的uid 與gid 讀出來,另外,該賬號的家目錄與shell 設定也一併讀出。然後核對在/etc/shadow對應帳號的密碼。最終進入shall。shadow的檔案內容是這樣:

fsy:$1$giemo6.y$ry2i/s7k2uxhtvxj.vuel.:15201:0:99999:7:::

其中前兩項為帳戶名和密碼。在這有這樣乙個技巧:root密碼忘記,不需要重灌系統的,可以重新啟動,進入單人維護模式,刪掉第二個值,儲存再重啟root就可以不用密碼登陸了,然後通過passwd指令設定root密碼即可。

二、群組管理

當使用者登陸時可以用groups命令查詢自己的所屬的群組。群組的資訊儲存在兩個檔案,即/etc/group 與 /etc/gshadow 中。先看下group的檔案結構吧:

root:x:0:root,admin

fsy:x:500: 

欄位的含義依次為:組名、群組密碼(形式上的)、gid(與/etc/passwd相對應)、此群組組員的帳號(不能有空格)。每乙個使用者都有gid也就意味著每乙個使用者都能有乙個群組。

gshadow檔案結構大體如下:

root:::root

fsy:!::

字段含義依次為:組名、密碼欄(開頭為!表示無合法密碼,所以無群組管理員)、群組管理員帳號、在群組組員帳號(與/etc/group內容相同)。從系統管理員的角度說,gshadow最大的功能就是建立群組管理員了。

三、帳號的管理

1、新增使用者:我們登入系統時會輸入賬號和密碼, 所以建立乙個可用的賬號同樣也需要這兩個資料。賬號可以使用 useradd 來新建使用者,密碼可以使用 passwd 這個命令。

新建乙個帳號abc,並設定密碼

[root@localhost etc]# useradd abc

[root@localhost etc]# ll -d /home/abc

drwx------. 4 abc abc 4096  8月 18 21:01 /home/abc

[root@localhost etc]# grep abc /etc/passwd /etc/shadow /etc/group

/etc/passwd:abc:x:502:502::/home/abc:/bin/bash

/etc/shadow:abc:!!:15204:0:99999:7:::

/etc/group:abc:x:502:

[root@localhost etc]# passwd abc

更改使用者 abc 的密碼 。

新的 密碼:

重新輸入新的 密碼:

passwd: 所有的身份驗證令牌已經成功更新。

[root@localhost etc]# grep abc /etc/passwd /etc/shadow /etc/group

/etc/passwd:abc:x:502:502::/home/abc:/bin/bash

/etc/shadow:abc:$1$j45i2azy$irvjh7.c0mez8jt1ok0wo0:15204:0:99999:7:::

/etc/group:abc:x:502:

[root@localhost etc]#

2、刪除使用者 :

[root@localhost etc]# userdel -r abc

3、更改使用者:

更改abc的說明欄,加上」i'm abc"

[root@localhost etc]# usermod -c "i'm abc" abc

[root@localhost etc]# grep abc /etc/passwd

abc:x:502:502:i'm abc:/home/abc:/bin/bash

[root@localhost etc]#

4、新增群組:

新建乙個名為「group"的群組

[root@localhost etc]# groupadd group1

[root@localhost etc]# grep group1 /etc/group /etc/gshadow

/etc/group:group1:x:503:

/etc/gshadow:group1:!::

[root@localhost etc]# 

5、更改群組:

將剛才建立的group1名稱改為 mygroup ,gid為205

[root@localhost etc]# groupmod -g 205 -n mygroup group1

[root@localhost etc]# grep mygroup /etc/group /etc/gshadow

/etc/group:mygroup:x:205:

/etc/gshadow:mygroup:!::

[root@localhost etc]# 

6、刪除群組:

[root@localhost etc]# groupdel mygroup

7、建立群組管理員:

建立乙個群組名為「testgroup",設定"abc"為管理員

[root@localhost fsy]# groupadd testgroup

[root@localhost fsy]# gpasswd testgroup

changing the password for group testgroup

new password:

re-enter new password:

[root@localhost fsy]# gpasswd -a abc testgroup

[root@localhost fsy]# grep testgroup /etc/group /etc/gshadow

/etc/group:testgroup:x:503:

/etc/gshadow:testgroup:$1$cmo704v6$30zuj9iyxku9gd5trmuws/:abc:

[root@localhost fsy]# 

8、管理員新增組成員:

以abc登陸,加zbw進入testgroup組

[zbw@localhost fsy]$ su abc

[abc@localhost fsy]$ gpasswd -a zbw testgroup

adding user zbw to group testgroup

[abc@localhost fsy]$ grep testgroup /etc/group

testgroup:x:503:zbw

[abc@localhost fsy]$

linux帳號管理相關 增加使用者和群組

涉及到的文件 etc passwd 1.每一行都代表乙個帳號,有幾行就代表有幾個帳號在你的系統 中2.資訊主要有 帳號名稱,密碼,uid,gid,使用者資訊說明 欄,家目錄,shell etc shadow 1.真正的密碼存放位置,為了安全起見。2.資訊主要有 帳號名稱,密碼,最近更動密碼的日期,密...

Linux帳號管理與ACL許可權 帳號與群組

1 帳號與群組 1 etc passwd a 記錄uid gid與帳號之間的對應關係 b uid為0,代表系統管理員 1 499,為系統帳號 500後,為自定義帳號 2 etc shadow a 記錄帳號和口令的對應關係 b 帳號與passwd中相同 3 etc group a 記錄gid與組名之間...

Linux帳號管理 中 使用者管理

摘要 本文簡要介紹了linux帳號管理的使用者管理。linux ubuntu10.0.4 1.系統管理員功能 1.1新建使用者 useradd usage useradd options 1.2修改使用者 usermod usage usermod options 1.3刪除使用者 userdel ...