Linux下用戶和組的管理

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一起使用,既指定新的家目錄,又移動此前的文件到新的家目錄中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章