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
查看當前用戶所在全部組。