用戶管理,顧名思義就是添加用戶和用戶組、更改密碼和設定權(quán)限等操作。 在使用個人電腦時,基本都以管理員賬戶登錄,很少添加和使用其他普通用戶。 但是在服務器上這樣做是行不通的。 服務器通常是由一個團隊來管理,但并不是每個人都能夠被賦予管理員權(quán)限。 因此,對安全性要求高的服務器,需要建立合理的用戶權(quán)限等級制度和服務器操作規(guī)范。
(資料圖片僅供參考)
Linux系統(tǒng)中的用戶,由于角色不同,每個用戶的權(quán)限和所能完成的操作任務也不同。 在實際的管理工作中,用戶的角色是通過UID(用戶ID)來標識的,每個用戶的UID都是不同的。 Linux中主要有超級用戶、系統(tǒng)用戶和普通用戶三類
超級用戶:root,具有一切特權(quán),UID為0系統(tǒng)用戶:系統(tǒng)正常工作所必須的內(nèi)建用戶,為了滿足相應的系統(tǒng)進程而建立,不能用來登錄,如bin、daemon、adm、lp等,UID一般為1-499普通用戶:為了讓使用者能夠使用系統(tǒng)資源而建立的,UID為500-600001. 用戶管理相關文件介紹
1.1 用戶配置文件/etc/passwd
/etc/passwd文件是系統(tǒng)用戶清單。 用戶登陸時,系統(tǒng)查詢這個文件,確定用戶的UID并驗證用戶口令,其內(nèi)容如下示:
root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin
第一列:用戶名第二列:用戶密碼,僅有一個x占位符,密碼存在shadow中第三列:用戶UID,唯一標識第四列:所屬組的GID第五列:備注信息第六列:用戶的主目錄,用戶登錄系統(tǒng)時,就登錄到該目錄中第七列:shell類型1.2 用戶密碼配置文件/etc/shadow
/etc/shadow文件里的內(nèi)容與/etc/passwd的內(nèi)容對應,由pwconv命令根據(jù)/etc/passwd中的數(shù)據(jù)自動產(chǎn)生。 超級用戶才擁有該文件讀權(quán)限,保證了用戶密碼的安全性
root:$6$LEbEC/AQc3/GF$8Q4Lx/gin1/YIH1:18842:0:99999:7:::bin:*:18353:0:99999:7:::daemon:*:18353:0:99999:7:::
第一列:用戶名第二列:經(jīng)過加密編碼的密碼,$6$開頭表明使用SHA-512加密,若密碼位是"!! "或"*"代表沒有密碼,不能登錄第三列:密碼最近更改時間,時間戳表示第四列:密碼不可被更改的天數(shù)(與第三列相比)第五列:密碼最長有效期(與第三列相比)第六列:密碼到期前的警告天數(shù)(與第五列相比)第七列:密碼過期后的寬限天數(shù)(與第五列相比)第八列:賬號失效日期,時間戳表示第九列:保留1.3 用戶組配置文件/etc/group
/etc/group文件包含了組名和每個組中的成員列表,每一行代表一個組
root:x:0:bin:x:1:daemon:x:2:
第一列:用戶組的組名第二列:組密碼,僅有一個x占位符,密碼存在gshadow中第三列:用戶組GID,用戶組唯一標識第四列:組成員1.4 用戶組密碼配置文件/etc/gshadow
/etc/gshadow用戶組密碼配置文件,其內(nèi)容如下:
root:::bin:::daemon:::
第一列:用戶組組名第二列:用戶組密碼,若為空或"!"表示沒有密碼第三列:用戶管理者,可以為空第四列:組成員1.5 默認配置文件/etc/login.defs
創(chuàng)建用戶時的默認限制設置文件/etc/login.defs,內(nèi)容如下:
MAIL_DIR /var/spool/mailPASS_MAX_DAYS 99999#指定密碼保持有效最大天數(shù)PASS_MIN_DAYS 0#修改密碼的間隔時間PASS_MIN_LEN 5#指定密碼的最小長度PASS_WARN_AGE 7#密碼到期前多少天系統(tǒng)提示密碼到期UID_MIN 1000#指定UID最小為1000UID_MAX 60000#指定最大UID為60000SYS_UID_MIN 201#系統(tǒng)用戶最小201SYS_UID_MAX 999#系統(tǒng)用戶最大999GID_MIN 1000#最小GID為1000GID_MAX 60000#最大GID為60000SYS_GID_MIN 201#系統(tǒng)組ID最小201SYS_GID_MAX 999#系統(tǒng)組ID最大999CREATE_HOME yes#指定是否創(chuàng)建用戶主目錄,yes為創(chuàng)建,no不創(chuàng)建UMASK 077#權(quán)限默認掩碼值USERGROUPS_ENAB yes#刪除用戶時,若該用戶組沒有成員存在,則會刪除用戶組ENCRYPT_METHOD SHA512#使用SHA512加密方式
1.6 配置文件/etc/default/adduser.conf
創(chuàng)建用戶時使用的默認配置文件/etc/default/adduser.conf,內(nèi)容如下:
# useradd defaults fileGROUP=100#新建用戶默認初始組GID號HOME=/home#用戶主目錄的位置INACTIVE=-1#是否啟用賬號過期禁用,-1不啟用EXPIRE=#表示賬號過期,空表示不啟用SHELL=/bin/bash#新建用戶的默認shell類型#指定用戶主目錄中默認文件的來源,新建用戶主目錄下的文件都是下面目錄中復制的SKEL=/etc/skelCREATE_MAIL_SPOOL=yes#是否創(chuàng)建郵箱緩存,yes表示創(chuàng)建
1.7 SKEL模板目錄
/etc/skel目錄定義了新建用戶在主目錄下默認的配置文件,更改/etc/skel目錄下的內(nèi)容就可以改變新建用戶默認主目錄的配置文件信息。 該目錄下常見的文件如下:
新用戶被創(chuàng)建后,會在新用戶主目錄下看到上圖中類似的文件
2. 用戶管理相關命令介紹
2.1 添加新用戶命令 useradd
添加新用戶使用useradd命令,其語法如下:
useradd 選項 用戶名
useradd不加任何參數(shù)創(chuàng)建用戶時,其過程如下:
首先讀取默認配置文件/etc/login.defs和/etc/default/useradd,根據(jù)這兩個文件中定義的規(guī)則添加用戶然后向/etc/passwd和/etc/group文件添加用戶和用戶組記錄,同時其對應的加密文件也會自動生成記錄接著會自動在/etc/default/useradd文件設定的目錄下建立用戶主目錄最后復制/etc/skel目錄中的所有文件到新用戶的主目錄中,新用戶建立完成useradd帶參數(shù)創(chuàng)建時,其參數(shù)說明如下:
-c comment 指定一段注釋性描述-d 目錄 指定用戶主目錄,若目錄不存在,則搭配使用-m選項,創(chuàng)建主目錄-g 用戶組 指定用戶所屬的用戶組-G 用戶組 指定用戶所屬的附加組-s shell文件 指定用戶的登錄shell-u 用戶號 指定用戶的用戶號,若同時有-o選項,則可重復使用其他用戶的標識號用戶名:指定新賬號的登錄名2.2 修改用戶屬性命令 usermod
根據(jù)實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。 其格式如下:
usermod 選項 用戶名
常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,其意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。 "-l"選項,用于修改用戶名
2.3 刪除用戶命令 userdel
若用戶賬號不再使用,可從系統(tǒng)中刪除。 本質(zhì)是將/etc/passwd等系統(tǒng)文件中的該用戶記錄刪除,必要時還需要刪除用戶的主目錄。 其格式如下:
userdel 選項 用戶名
常用的選項是 "-r",作用是把用戶的主目錄一起刪除
2.4 修改用戶密碼命令 passwd
用戶賬號剛創(chuàng)建時沒有口令,但是被系統(tǒng)鎖定,無法使用,必須為其指定口令后才可以使用,即使是指定空口令。 命令的格式為:
passwd 選項 用戶名
常用的選項如下示:
-l 停用賬號-u 啟用被停用的賬號-d 刪除密碼-f 強迫用戶下次登錄時修改密碼2.5 添加用戶組命令 addgroup
增加一個新的用戶組使用groupadd命令。 其格式如下:
groupadd 選項 用戶組
可以使用的選項有:
-g GID 指定新用戶組的組標識號(GID)-o 表示新用戶組的GID可以與系統(tǒng)已有的GID相同2.6 刪除用戶組命令 delgroup
如果要刪除一個已有的用戶組,使用groupdel命令,其格式如下
groupdel 用戶組
2.7 修改用戶組命令 groupmod
修改用戶組的屬性使用groupmod命令。 其語法如下:
groupmod 選項 用戶組
常用的選項有:
-g GID 為用戶組指定新的組標識號-o與-g同時使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同-n 新用戶組 將用戶組的名字改為新名字標簽: