1.作用
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、臺(tái)江ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的臺(tái)江網(wǎng)站制作公司
useradd或adduser命令用來(lái)建立用戶帳號(hào)和創(chuàng)建用戶的起始目錄,使用權(quán)限是超級(jí)用戶。
2.格式
3.主要參數(shù)
-c:加上備注文字,備注文字保存在passwd的備注欄中。
-d:指定用戶登入時(shí)的主目錄,替換系統(tǒng)默認(rèn)值/home/用戶名
-D:變更預(yù)設(shè)值。
-e:指定賬號(hào)的失效日期,日期格式為MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密碼過(guò)期后多少天即關(guān)閉該賬號(hào)。如果為0賬號(hào)立即被停用;如果為-1則賬號(hào)一直可用。默認(rèn)值為-1.
-g:指定用戶所屬的群組。值可以使組名也可以是GID。用戶組必須已經(jīng)存在的,期默認(rèn)值為100,即users。
-G:指定用戶所屬的附加群組。
-m:自動(dòng)建立用戶的登入目錄。
-M:不要自動(dòng)建立用戶的登入目錄。
-n:取消建立以用戶名稱為名的群組。
-r:建立系統(tǒng)賬號(hào)。
-s:指定用戶登入后所使用的shell。默認(rèn)值為/bin/bash。
-u:指定用戶ID號(hào)。該值在系統(tǒng)中必須是唯一的。0~499默認(rèn)是保留給系統(tǒng)用戶賬號(hào)使用的,所以該值必須大于499。
4.說(shuō)明
useradd可用來(lái)建立用戶賬號(hào),它和adduser命令是相同的。賬號(hào)建好之后,再用passwd設(shè)定賬號(hào)的密碼。使用useradd命令所建立的賬號(hào),實(shí)際上是保存在/etc/passwd文本文件中。
5.應(yīng)用實(shí)例
建立一個(gè)新用戶賬戶testuser1,并設(shè)置UID為544,主目錄為/usr/testuser1,屬于users組:
加-m 如果主目錄不存在則自動(dòng)創(chuàng)建
6.例如
使用管理員賬號(hào)登陸系統(tǒng),建立用戶tmp_3452 密碼3sdt5:Eawhg
添加用戶命令:
修改密碼命令:
在系統(tǒng)出現(xiàn)提示輸入密碼是輸入密碼:3sdt5:Eawhg 系統(tǒng)提示輸入確認(rèn)密碼后再輸入一次。OK添加成功。
7.useradd批量添加用戶
使用useradd時(shí),如果后面不添加任何參數(shù)選項(xiàng),例如:#sudo useradd test創(chuàng)建出來(lái)的用戶將是默認(rèn)“三無(wú)”用戶:一無(wú)Home Directory,二無(wú)密碼,三無(wú)系統(tǒng)Shell。
步驟如下:
(1)建立用戶名列表文件username.txt (同上)
(2)創(chuàng)建用戶密碼對(duì)應(yīng)文件serc.txt,格式為username:password (注意文件的格式)
(3)批量添加的腳本文件aa.sh
新建完成useradd命令,在執(zhí)行沒(méi)有出錯(cuò)的情況下,不會(huì)輸出任何的信息,不會(huì)與用戶交互。但是用戶必須要記住那些設(shè)置項(xiàng)目,否則添加的用戶可能出現(xiàn)一些預(yù)想不到的結(jié)果。
Linux系統(tǒng)中的用戶是分角色的,用戶的角色是由UID和GID來(lái)識(shí)別的(也就是說(shuō)系統(tǒng)是識(shí)別的是用戶的UID、GID,而非用戶用戶名),一個(gè)UID是唯一(系統(tǒng)中唯一如同身份證一樣)用來(lái)標(biāo)識(shí)系統(tǒng)的用戶賬號(hào)(用戶名)。
文件的用戶與用戶組分為超級(jí)管理員,普通用戶和系統(tǒng)用戶。
1)超級(jí)管理員的UID=0,GID=0,也可以這么說(shuō)系統(tǒng)只要是識(shí)別出某個(gè)用戶的UID\GID都為0時(shí),那么這個(gè)用戶系統(tǒng)就認(rèn)為是超級(jí)管理員。
2)普通用戶(管理員添加的),默認(rèn)它的UID\GID是從500-65535,權(quán)限很小,只能操作自己的家目錄中文件及子目錄(注:nobody它的UID\GID是65534)。
3)系統(tǒng)用戶,也稱虛擬用戶,也就是安裝系統(tǒng)時(shí)就默認(rèn)存在的且不可登陸系統(tǒng),它們的UID\GID是1-499。
我們可以通過(guò)cat /etc/passwd命令來(lái)查看所有的用戶信息,例如下圖,第三列是UID,第四列是GID:
創(chuàng)建用戶
useradd user1 創(chuàng)建用戶user1
useradd -e 12/30/2021 user2 創(chuàng)建用戶user2,有效期到2021-12-30
設(shè)置用戶密碼
passwd user1 設(shè)置密碼,有設(shè)置密碼的用戶不能用
這里設(shè)置密碼時(shí)可能會(huì)碰到密碼保護(hù)機(jī)制問(wèn)題,這里需要注釋掉保護(hù)機(jī)制的問(wèn)題
這個(gè)時(shí)候需要在編輯/etc/pam.d/system-auth文件,將其中的password requisite
和password sufficient兩行注釋掉,如下圖:
創(chuàng)建用戶組
groupadd –g 888 users 創(chuàng)建一個(gè)組users,其GID為888
groupadd users 不用g參數(shù),使用默認(rèn)的組ID
命令 gpasswd為組添加用戶
只有root和組管理員能夠改變組的成員:
gpasswd –a user1 users 把 user1加入users組
gpasswd –d user1 users 把 user1退出users組
命令groupmod修改組
groupmod –n user2 user1 修改組名user1為user2
groupdel刪除組
groupdel users 刪除組users
真正從安全性角度上來(lái)考慮的話,是要控制用戶一定執(zhí)行命令的權(quán)限,也就是哪些用戶可以執(zhí)行哪些命令,不可以執(zhí)行哪些命令,因此也就有了sudo這個(gè)應(yīng)用,對(duì)于sudo提權(quán),也就是修改/etc/sudoers的配置文件。
Linux中每個(gè)用戶都要屬于一個(gè)或多個(gè)組,有了用戶組,就可以將用戶添加到組中,這樣就方便管理員對(duì)用戶的集中管理。 Linux系統(tǒng)中用戶組分為root組、系統(tǒng)組、普通用戶組三類。當(dāng)一個(gè)用戶屬于多個(gè)組時(shí),這些組中只能有一個(gè)作為該用戶的主屬組,其他組就被稱為此用戶的次屬組。 組基本信息在文件/etc/group中;組密碼信息在文件/etc/gshadow中。通過(guò)命令:cat /etc/group、cat /etc/gshadow可查看文件內(nèi)容。
各用戶組中,以 ":" 作為字段之間的分隔符,分為 4 個(gè)字段,每個(gè)字段對(duì)應(yīng)的含義為:
組名:密碼:GID:該用戶組中的用戶列表
而在gshadow文件中,每行代表一個(gè)組用戶的密碼信息,各行信息用 ":" 作為分隔符,分為 4 個(gè)字段,每個(gè)字段的含義如下:
組名:加密密碼:組管理員:組附加用戶列表
root用戶可以直接修改/etc/group文件達(dá)到管理組的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。
下面使用案例分別講解這些命令:
添加用戶組的命令是 groupadd,命令格式如下:
groupadd? [ -g gid? [ -o ] ]? [ -r ]? [ -f ]? group
參數(shù)說(shuō)明:
-g:指定新建工作組的 id;
-r:創(chuàng)建系統(tǒng)工作組,系統(tǒng)工作組的組ID小于 500;
-K:覆蓋配置文件 "/ect/login.defs";
-o:允許添加組 ID 號(hào)不唯一的工作組。
-f,--force: 如果指定的組已經(jīng)存在,此選項(xiàng)將失明了僅以成功狀態(tài)退出。當(dāng)與 -g 一起使用,并且指定的GID_MIN已經(jīng)存在時(shí),選擇另一個(gè)唯一的GID(即-g關(guān)閉)。
示例:創(chuàng)建一個(gè)新的組,并添加組 ID。
[root@VM-4-4-centos ~]# groupadd? -g? 888? newgroup
此時(shí)在/etc/group文件中產(chǎn)生了一個(gè)id為888的項(xiàng)目:
刪除用戶組時(shí),可用groupdel(group delete)指令來(lái)完成。倘若該組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除組。 注意:刪除的組不能為主屬組! 命令格式:
groupdel? [組名]? ? ? ? ?
示例:刪除用戶組 newgroup
[root@VM-4-4-centos ~]# groupdel? newgroup
此時(shí)再查看/etc/group文件時(shí)可以看到用戶組newgroup已經(jīng)不存在,刪除成功!
要更改用戶組識(shí)別碼或名稱可使用 groupmod 來(lái)完成。命令格式:
groupmod? [ -g? 群組識(shí)別碼? -o ] [ -n? 新群組名稱 ] [原群組名稱]
參數(shù)說(shuō)明 :
-g 群組識(shí)別碼 設(shè)置欲使用的群組識(shí)別碼。
-o 重復(fù)使用群組識(shí)別碼。
-n 新群組名稱 設(shè)置欲使用的群組名稱。
示例:創(chuàng)建用戶組newgroup并修改其名稱為modifiedgroup
[root@VM-4-4-centos ~]# groupadd? newgroup
[root@VM-4-4-centos ~]# groupmod? -n? modifiedgroup? newgroup
查看/etc/group文件,只存在名稱為modifiedgroup的用戶組,修改成功!
gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個(gè)用戶添加到組或者從組中刪除。命令格式:
gpasswd? [可選項(xiàng)]? 組名
可選項(xiàng)參數(shù) :
-a:添加用戶到組;
-d:從組刪除用戶;
-A:指定管理員;
-M:指定組成員和-A的用途差不多;
-r:刪除密碼;
-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。
示例1:將用戶yangwei添加到組modifiedgroup中
[root@VM-4-4-centos ~]# gpasswd? -a? yangwei? modifiedgroup
此時(shí)查看/etc/group文件發(fā)現(xiàn)組?modifiedgroup中出現(xiàn)用戶yangwei
示例2:將用戶yangwei從組modifiedgroup中給刪除
[root@VM-4-4-centos ~]# gpasswd? -d? yangwei? modifiedgroup
再次查看/etc/group文件發(fā)現(xiàn)用戶yangwei已經(jīng)不存在。
當(dāng)需要在不同的群組下工作的時(shí)候我們需要進(jìn)行切換群組操作,這個(gè)操作由newgrp指令來(lái)完成。命令格式如下:
newgrp [群組名稱]
注意!當(dāng)前用戶必須都是兩個(gè)群組的成員,否則切換群組時(shí)需要輸入切換組的組密碼,這時(shí)候當(dāng)前用戶作為臨時(shí)成員在切換組下工作,所創(chuàng)建的文件全都屬于切換組。
示例1:用戶yangwei不屬于群組modifiedgroup,請(qǐng)將當(dāng)前工作組切換為modifiedgroup。
示例2:將用戶yangwei添加到組modifiedgroup中,并切換工作組為modifiedgroup。
總結(jié):Linux用戶組管理需要掌握最基本的幾個(gè)命令及其選項(xiàng)參數(shù): groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !