Linux用戶和組管理,添加修改用戶,添加修改組,加入組,移除組


1.安全介紹3A

Authentication: 認證,用戶名和對應口令

Authorization: 授權,不同用戶權限不同

Accouting/Audition: 審計

2. 所屬者和所屬組

user: 用戶

用戶標識: UserID, UID(16bits二進制,0-65535)

管理員: root, UID=0

普通用戶: 1-65535(又分系統用戶和登陸用戶兩種)

系統用戶: 1-499(centos6), 1-999(centos7)由系統保留,作為管理賬號,對守護進程獲取資源進行權限分配;

登陸用戶:500-60000(centos6), 1000-60000(centos7)

名稱轉換: username<>UID,通過/etc/passwd

group: 組

組標識: groupid, gid

管理員組: root, UID=0

用戶主要組(主組)

  • 用戶必須屬於一個且只有一個主組(基本組);
  • 基本組名同用戶名,且僅包含一個用戶,也叫私有組(即,新建的用戶,也會新建要給組,但組里只有用戶自己)

用戶的附加組: secondary group

基本組以外的組屬於用戶的附加族。

注意:

  • 一個用戶只有一個主組,但可以屬於0或者多個附加組。
  • 一般第一個為用戶的主組,后面是附加組。
  • 系統識別用戶不是看用戶名,而是id編號。

配置文件

1. 主要配置文件

/etc/passwd: 用戶及其屬性信息(名稱,UID,主組ID)

/etc/shadow: 用戶密碼及相關屬性。

/etc/group: 組及其屬性信息。

/etc/gshadow: 組密碼及相關屬性。

2. /etc/passwd

格式:

name:password:UID:GID:GECOS:directory:shell

/etc/passwd 由“:”分割成7段,每個字段含義如下:

①login name

登錄用戶名(wang)

②passwd

密碼,口令(x) 現在放在 /etc/shadow 如果要想回到之前的狀態用(命令 pwunconv)但是這樣的話/etc/shadow文件就沒有了,恢復使用(命令 pwconv)

③UID

用戶身份編號 管理員:0,系統默認為root,但是可以修改。普通用戶:500+;1000+

④GID

組標識號登錄默認所在組編號(1000)

⑤GECOS

用戶全名或注釋;

用命令chfn 可以修改注釋信息;

用命令 finger 可以更加詳細的查看修改和用戶信息;

⑥home directory:

用戶主目錄(/home/wang)

root 的家目錄是/root ,普通用戶的家目錄則為/home/username,用戶家目錄可以自己定義。

⑦shell

用戶默認使用shell (/bin/bash)

用 chsh命令 可以直接修改用戶的shell

示例

[root@localhost home]# getent passwd ryan
ryan:x:500:500:centos6:/home/ryan:/bin/bash
[root@localhost home]# 
[root@localhost home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync

3. /etc/shadow

/etc/shadow和/etc/passwd類似,由":"分割成9段,只有管理員可以查看。

1.登陸用戶名;2.用戶密碼,一般sha512加密; 3.從1970.1.1起,密碼最近一次被更改的時間; 4.密碼再過多少天就可以被更改,默認0,即不受限制; 5.密碼多少天后過期,默認99999表示永遠不用; 6.密碼過期前幾天提醒用戶,默認一周; 7.密碼過期幾天后被鎖定; 8.生命周期,從1970.1.1之后,多少天后賬號失效; 9.沒有意義,保留。

示例

[root@localhost home]# getent shadow ryan
ryan:$1$w7vV7KvG$kaxEMBMaLna7Iaf59NCQl1:17670:0:99999:7:::
[root@localhost home]# 
[root@localhost home]# cat /etc/shadow
root:$1$w7vV7KvG$kaxEMBMaLna7Iaf59NCQl1:17670:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::

4. /etc/group組

1.組群名稱; 2.組群密碼,通常不設定,密碼記錄在/etc/gshadow; 3. GID. 組id; 4. 以當前組為附加組的用戶列表。

示例

[root@localhost home]# getent group ryan
ryan:x:500:
[root@localhost home]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon

5. /etc/gshadow

1.群組名稱; 2.群組密碼,一般不設置,如果設置了,普通用戶知道口令后可以直接加進來,不設置反而安全; 3. 組管理員列表; 4.以當前組為附加組的用戶列表;

示例

[root@localhost home]# cat /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm
adm:::adm,daemon
tty:::
disk:::
lp:::daemon
mem:::
kmem:::
wheel:::
mail:::mail,postfix

添加用戶和刪除用戶user

創建用戶

useradd username

-g groupname: 指定用戶的基本組(事先存在), 沒指定則使用與用戶名相同的組名;
-G group1,group2: 指定用戶所屬的附加組,要事先存在;
-c "comment": 注釋信息;
-d HOME_DIR: 家目錄;
-s SHELL: 指定用戶默認的shell,可用的所有shell列表在/etc/shells中;

useradd -D顯示默認配置。

創建/修改密碼

passwd username

修改自己密碼passwd

usermod, userdel用戶屬性修改和刪除用戶

修改

usermod username

-u UID: 修改用戶id為新的;
-g GID: 修改用戶基本組為新的;
-G group1, group2: 修改用戶附加組,原來的被覆蓋;

刪除

userdel username

-r: 刪除用戶時,一起刪除家目錄

添加組和刪除組group

創建組

groupadd groupname

修改組

groupmod -n new_name: 修改組名

刪除組

groupdel groupname

更改查看組成員

groupmems -g groupname [action]

-a,--add username: 指定用戶加入組;
-d,--delete username: 從組中刪除用戶;
-p,--purge :從組中清除所有成員;
-l,--list: 顯示組成員列表;

groups查看當前用戶所在全部組。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM