OS:Centos7
1.用戶的分類
在Linux下用戶角色劃分如下:
超級用戶:root 擁有對系統的最高的管理權限(UID=0)如果我們把普通用戶的UID改爲0系統也會將其視爲root用戶。
普通用戶 系統用戶(UID 1-999),在Centos6中爲1-499;本地用戶 (UID 1000+),Centos6中爲500+ (注:UID:即每個用戶的身份標示)
虛擬用戶:也稱做僞用戶,一般不會用來登錄系統,由系統中的服務使用,比如apache、zabbix等。
2.用戶和組的對應關係
一對多:一個用戶可以存在一個組中; 一對多:一個用戶可以存在多個組中;
多對一:多個用戶可以存在一個組中; 多對多:多個用戶可以存在多個組中;
配置文件:
名稱 | 賬號信息 | 說明 |
---|---|---|
用戶信息文件 | /etc/passwd | 記錄了每個用戶的一些基本屬性,每一行對應一個用戶,每個行記錄之間通過:分割成了7列 |
組文件 | /etc/group | 用戶組的所有信息存放位置,並且組名不能重複 |
密碼信息文件 | /etc/shadow | 把密碼從/etc/passwd中分離出來放入這個單獨的文件,該文件的記錄行與/etc/passwd中一一對應 |
組對應的密碼信息 | /etc/gshadow | /etc/gshaow是/etc/group的加密文件,組的管理密碼存放在該文件中 |
新增用戶的信息文件 | /etc/skel | 當我們新增一個用戶時,該目錄下的隱藏文件自動複製到新增用戶的家目錄下 |
下面是上述文件參數的詳解:
/etc/passwd
[root@centos7 ~]# cat /etc/passwd |head
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
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
該文件一行記錄着一個用戶,每行又以:分割成7列,其中每一列的參數含義:
用戶名:密碼佔位符:UID:GID:描述信息(在圖形界面我們登錄前由原來的用戶名變爲我們自定義的描述信息):用戶的家目錄:登錄shell
/etc/group
[root@centos7 ~]# cat /etc/group|head
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
每一列的參數含義:
組名:組的密碼的佔位符:GID:組內的成員列表
/etc/shadow
[root@centos7 ~]# cat /etc/shadow
root:sadadasdawerqwrxsadi0:18301:0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::
lp:*:17834:0:99999:7:::
sync:*:17834:0:99999:7:::
shutdown:*:17834:0:99999:7:::
halt:*:17834:0:99999:7:::
mail:*:17834:0:99999:7:::
每一列的參數含義:
賬號名稱:加密的密碼:最近更改密碼的時間;從1970/1/1到上次修改密碼的天數,(可用date -d "1970-01-01 [選項中對應的數字] days" 命令查看):密碼不可被修改的天數:密碼有效期:密碼過期之前警告天數:密碼過期的期限天數:帳號失效時間;從1970/1/1日起,到用戶被禁用的天數:保留字段
/etc/gshadow
[root@centos7 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
每一列的參數含義:
組賬號名稱:加密後的密碼(顯示!或者爲空表示沒有密碼):該組的管理員列表,該字段可以爲空,如果有多個管理員則用,隔開:該組的成員列表,多個用戶用,隔開
/etc/skel目錄:
[root@centos7 ~]# ll -a /etc/skel/
總用量 28
drwxr-xr-x. 2 root root 4096 11月 5 23:09 .
drwxr-xr-x. 95 root root 12288 2月 10 00:16 ..
-rw-r--r-- 1 root root 18 8月 8 2019 .bash_logout
-rw-r--r-- 1 root root 193 8月 8 2019 .bash_profile
-rw-r--r-- 1 root root 231 8月 8 2019 .bashrc
[root@centos7 ~]#
/etc/skel目錄是用來存放新增的用戶的配置文件的目錄,當我們創建新用戶時,這個目錄下的所有文件都會自動被複制到新創建的用戶的家目錄下,默認情況下,該目錄下的所有文件都是隱藏文件。
/etc/default/useradd文件
/etc/default/useradd文件在使用useradd命令創建用戶時需要調用的一個默認的配置文件。
[root@centos7 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #設置用戶的家目錄在/home中
INACTIVE=-1 #是否啓用賬號過期後禁用,-1表示不啓用
EXPIRE= #賬號終止日期,空值表示不啓用
SHELL=/bin/bash #新建的用戶的默認使用的shell類型
SKEL=/etc/skel #新建的用戶家目錄默認文件存放路徑,也就是前文提到的/etc/skell目錄
CREATE_MAIL_SPOOL=yes #是否創建mail文件
[root@centos7 ~]#
3.用戶命令
-創建新用戶的命令: useradd、adduser
注:adduser是useradd的軟連接
- useradd [參數選項] 用戶名
該命令常用的參數及含義:
-d:指定用戶家目錄
-M:不創建用戶的家目錄
-g:設置用戶初始組的名稱或ID,如果沒有設置該選項,useradd 會根據/etc/login.defs 文件中的 USERGROUPS_ENAB 環境變量進行設置。默認 USERGROUPS_ENAB yes 會用和用戶名相同的名字創建羣組,GID 等於 UID
-G:指定用戶要加入的附加組列表,使用,號分隔多個組,不要添加空格。(一個用戶只允許有一個主組,可有多個附屬組)
-s:創建用戶時,指定用戶的shell類型,設置成/sbin/nologin就可以禁止用戶登錄
-u:指定用戶UID
-使用userdel刪除用戶:
用法:userdel [參數選項] 用戶名
選項:-r 刪除用戶時同時刪除用戶的家目錄和/var/mail下的目錄
-使用groupadd命令創建新組:
用法 : groupadd [參數選項] 組名
該命令常用的參數及含義:
-g: 指定GID,必須是唯一的數值,除非指定-o選項
-r: 建立系統用戶組
-f: 新增一個賬戶,強制覆蓋已存在的用戶組賬戶
-使用groupdel命令刪除組:
用法:groupdel 組名
(注意:刪除的目標組不能是用戶的基本組)
-使用passwd命令修改密碼:
用法:passwd [參數選項]
該命令常用的參數及含義:
-d:清空密碼。僅root能操作
-f: 強制操作,僅root能操作
-l:鎖定用戶賬戶,鎖定其用戶無權更改其密碼,僅root能操作
-u:解鎖用戶賬戶,僅root能操作
-s:查看用戶的狀態
-使用gpasswd命令管理組:
用法:gpasswd
該命令常用的參數及含義:
-A:定義組管理員列表
-a:添加組成員,每次只能加一個
-d:刪除組成員,每次只能刪除一個
-M:定義組成員,可設置多個,用,隔開
-r:移除組的密碼
-R:將其成員限制訪問組
-使用usermod命令修改用戶信息:
用法:usermod [參數選項] 用戶名
該命令常用的參數及含義:
-u:指定UID
-d:指定家目錄
-g:指定起始組(只能有一個)
-G:附加組(可以有多個)
-s:指定用戶登錄的shell
-L:鎖定用戶賬號
-d:-d一般跟-m一起使用,既指定新的家目錄,又移動此前的文件到新的家目錄中