linux用戶組管理命令詳細介紹

學習目標

1、瞭解用戶和用戶組的概念

2、可以添加useradd和刪除userdel用戶,修改用戶密碼passwd

3、可以添加groupadd和刪除groupdel用戶組

4、瞭解管道符|的作用

5、會使用ifconfig查看IP地址

6、瞭解網卡配置文件的位置和常見配置項

7、知道常用的SSH客戶端連接工具

8、會使用mobaxterm連接到linux

一、用戶與用戶組的概念

1、爲什麼要做用戶與用戶組管理

用戶和用戶組管理,就是添加用戶和用戶組,針對每個用戶設置不同的密碼。

問題:大家平時的筆記本電腦,會設置多個賬戶嗎?爲什麼?

服務器要添加多賬戶的作用

·針對不同用戶分配不同的權限,不同權限可以限制用戶可以訪問到的系統資源 ​

·提高系統的安全性

·幫助系統管理員對使用系統的用戶進行跟蹤

2、Linux的用戶及用戶組

①Linux的多用戶多任務

Linux 系統是一個多用戶多任務的操作系統,所謂多用戶多任務,是指支持多個用戶在同一時間內登陸,不同用戶可以執行不同的任務,並且互不影響。

例如:

小明所在的運維團隊一共有四個人,分別有大毛,二毛,三毛,大毛負責網站,他的賬戶叫wangzhan, 二毛負責數據庫,他的賬戶叫shujuku。

​在同一時間,大毛和二毛都可以登錄這臺服務器,大毛可以查詢網站的日誌,二毛可以處理數據庫的問題,他們之間互不影響。

​由於我們設置了權限,大毛只能訪問網站的日誌,無法訪問數據庫;二毛可以處理數據庫問題,但是不能訪問網站的日誌。這就實現了我們的多用戶多任務的運行機制。

②什麼是用戶

​任何一個運維人員想要登錄服務器,都必須先申請一個賬號,然後以這個賬號的身份進入系統,就像我們前面說的wangzhan這個賬號。每個賬號都擁有一個唯一的用戶名和各自的密碼,用戶在登錄時輸入正確的用戶名和密碼後,就能夠進入系統,默認會進入到這個用戶自己的主目錄 ​

③什麼是用戶組

​用戶組是具有相同特徵用戶的邏輯集合,簡單來說,就是具有相同權限的用戶的集合。 ​

例如:人事部有20名員工,他們都需要訪問一個文件夾,如果我們給這20個用戶的賬號分別設置權限,這樣太麻煩了,所以我們會建立一個用戶組叫HR,對這個組設置權限,將這20個用戶加入這個組就可以了。

④用戶和用戶組的關係

一個用戶可以屬於一個用戶組,具有此用戶組的權限。

HR組可以訪問/hrfile的文件夾,當user01屬於HR組,那麼user01就可以訪問/hrfile這個文件夾

B 一個用戶可以屬於多個用戶組,此時具有多個組的共同權限

HR可以訪問/hrfile的文件夾,運維可以訪問/yunweifile的文件夾,當user01同時屬於HR組和運維組,那麼user01可以訪問 /hrfile和/yunweifile

C 多個用戶可以屬於一個用戶組,多個用戶都具有此用戶組的權限。

主組:指用戶創建時默認所屬的組,每個用戶的主組只能有一個。創建用戶時會同時創建一個和用戶名相同的組。

例如:添加用戶xiaoming,在建立用戶 xiaoming 的同時,就會建立 xiaoming 組作爲 xiaoming 用戶的初始組。

附加組:每個用戶只能有一個主組,除主組外,用戶再加入其他的用戶組,這些用戶組就是這個用戶的附加組。每個用戶的附加組可以有多個,而且用戶可以有這些附加組的權限。

通常用戶和用戶組的管理,包含以下工作:

☆ 用戶組的管理

☆ 用戶賬號的添加、刪除、修改以及用戶密碼的管理

注意三個文件:

/etc/passwd 用戶配置文件,存儲用戶的基本信息

/etc/group 存儲用戶組的信息

/etc/shadow 存儲用戶的密碼信息

二、用戶和用戶組管理

1、用戶組管理

用戶組的管理包括用戶組的添加、刪除和修改。

​爲什麼要建立用戶組

前面我們說過,人事部有20名員工,我們要建立一個組,叫hr,這樣就不用分別給20個員工設置權限了。

① 用戶組添加

命令:groupadd

作用:添加組

語法:# groupadd [參數選項 選項值] 用戶組名

選項:-g:設置用戶組ID 數字,如果不指定,則默認從1000 之後遞增

linux用戶組管理命令詳細介紹

 

用法一:groupadd 組名 示例代碼:

#groupadd hr

含義:新建一個組叫做hr

提示:linux下我們執行完命令,有時候會沒有任何提示,直接回到#提示符,這種狀態表明,命令執行成功,沒有報錯。“沒有消息就是最好的消息”。

存儲用戶組信息的文件:/etc/group

使用cat命令,查看/etc/group文件,我們可以看到如下圖所示:

linux用戶組管理命令詳細介紹

 

/etc/group文件結構:

wheel : x : 10 : itheima用戶組名 : 密碼(佔位符) : 用戶組ID : 這個組包含的用戶(附屬組)

特別說明:

1) 密碼位x代表佔位符,用戶組可以設置密碼,但是大部分情況下不需要設置

2)組內用戶名:表示附加組是該組的用戶名稱。例如:wheel組(組ID10),是itheima賬戶的附加組,所以itheima這個賬戶,就顯示在這裏。itheima組(組ID1000),是itheima賬戶的主組, 所以itheima這個賬戶就不顯示在最後。

3)wheel組

只有在wheel組中的普通用戶,纔可以通過su命令切換到root賬戶,默認所有普通用戶都能切換到root,只要知道root密碼,換句話說,默認此配置不生效。

a href=""> 用戶組修改

命令:groupmod

語法:# groupmod [選項 選項值] 用戶組名

選項:-g :gid縮寫,設置一個自定義的用戶組ID 數字

-n :name縮寫,設置新的用戶組的名稱

示例代碼:修改hr用戶組,將組ID改成1100,將名稱改爲bjhr

用法一:groupmod -g 新的組ID -n 新的組ID 原有組ID示例代碼:

#groupmod -g 1100 -n bjhr hr

含義:將hr組的組ID改成1100,組名改成bjhr

linux用戶組管理命令詳細介紹

 

③ 用戶組刪除

命令:groupdel

語法:# groupdel 用戶組名

案例:刪除bjhr組

用法一:groupdel 組名示例代碼:

groupdel bjhr

含義:將bjhr組刪除

linux用戶組管理命令詳細介紹

 

2、用戶管理

用戶的管理涉及用戶的添加、刪除和修改。

與用戶相關的文件:/etc/passwd

①useradd添加用戶

命令:useradd

作用:添加用戶

語法:# useradd [選項 選項的值] … 用戶名

選項:-g:表示指定用戶的用戶主(主要)組,選項值可以是用戶組ID,也可以是組名

​-G:表示指定用戶的用戶附加(額外)組,選項值可以是用戶組ID,也可以是組名

-u :uid,用戶的id(用戶的標識符),系統默認會從500 /或1000之後按順序分配uid,如果不想使用系統分配的,可以通過該選項自定義【類似於騰訊QQ 的自選靚號情況】

-c:comment,添加註釋(選擇是否添加)

-s:指定用戶登入後所使用的shell 解釋器,默認/bin/bash【專門的接待員】,如果不想讓其登錄,則可以設置爲/sbin/nologin (重要)

-d:指定用戶登入時的啓始目錄(家目錄位置)

-n:取消建立以用戶名稱爲名的羣組(瞭解)

當我新建一個賬戶叫user01, 同時,系統會自動建立一個組也叫user01

用法一:useradd 用戶名示例代碼:

#useradd zhangsan

含義:創建用戶zhangsan,不帶任何選項。

注意:不用任何參數,創建用戶,系統會默認執行以下操作:

1)在 /etc/passwd 文件中創建一行關於zhangsan用戶的數據2)在 /etc/shadow 文件中新增了一行關於zhangsan 密碼的數據3)在 /etc/group 文件中創建一行與用戶名相同的組,例如zhangsan4)在 /etc/gshadow 文件中新增一行與新增羣組相關的密碼信息,例如zhangsan5)自動創建用戶的家目錄,默認在/home下,與用戶名同名

linux用戶組管理命令詳細介紹

 

驗證是否成功:

1)使用tail文件查看/etc/passwd文件

2)使用tail文件查看/etc/group文件

linux用戶組管理命令詳細介紹

 

3)驗證是否存在家目錄(在Centos 下創建好用戶之後隨之產生一個同名家目錄)

linux用戶組管理命令詳細介紹

 

②etc/passwd存儲用戶信息的文件

使用vim命令打開/etc/passwd文件,如下圖所示:

linux用戶組管理命令詳細介紹

 

linux用戶組管理命令詳細介紹

 

linux用戶組管理命令詳細介紹

 

root : x : 0 : 0 : root : /root : /bin/bash

用戶名 : 密碼 : 用戶ID : 用戶組ID : 註釋 : 家目錄 : 解釋器shell用戶名:登錄linux時使用的用戶名密碼:此密碼位置一般情況都是"x",表示密碼的佔位,真實密碼存儲在/etc/shadow用戶ID:用戶的識別符,每個用戶都有唯一的UID【-u】用戶組ID:該用戶所屬的主組ID;【-g】註釋:解釋該用戶是做什麼用的;【-c】目錄:用戶登錄進入系統之後默認的位置;【-d】解釋器shell:等待用戶進入系統之後,用戶輸入指令之後,該解釋器會收集用戶輸入的指令,轉換成機器語言,傳遞給內核處理;如果解釋器是/bin/bash 表示用戶可以登錄到系統,/sbin/nologin表示該用戶不能登錄到系統【-s】

下面我們來看一下對於useradd參數的使用

企業場景1:

公司新員工lisi,屬於gzhr部門,用戶ID1200,不允許登錄系統

創建用戶lisi,默認lisi屬於自己同名的主組,讓lisi 屬於附加組gzhr,用戶ID 1200,註釋爲"hruser lisi",解釋器爲/sbin/nologin

用法二:useradd -G 附加組名 -u 用戶ID -s /sbin/nologin -c "shuser lisi" 用戶名示例代碼:

#useradd -G gzhr -u 1200 -s /sbin/nologin -c "gzuser lisi" lisi

含義:創建用戶lisi,不帶任何選項。

linux用戶組管理命令詳細介紹

 

gzhr行的含義:在gzhr的組裏(組id 是1002)有一個組內用戶lisi(lisi 的附加組就是1002,附加組的名字是gzhr)。 如果需要爲一個用戶指定多個附加組,只需要將多個附加組的id 通過英文逗號“,”分割即可。 例如-G 500,501,502

① 主組只能有1 個(類似於親生父母只有一對),附加組可以多個,也可以沒有附加組(類似於認乾爹乾媽,可以有也可以沒有,也可以有多個)② 主組必須有③ 後期將權限管理的時候,關於文檔的屬組指的是主組(瞭解)

③id查看用戶信息

命令:id

作用:查看一個用戶的一些基本信息(包含用戶id,用戶組id,附加組id…),該指令如果不指定用戶則默認當前用戶。

語法1:# id 默認顯示當前執行該命令的用戶的基本信息

linux用戶組管理命令詳細介紹

 

語法2:# id 用戶名, 顯示指定用戶的基本信息

linux用戶組管理命令詳細介紹

 

如何驗證以上信息是否正確?

答:驗證用戶信息:通過文件/etc/passwd,驗證用戶組信息:通過文件/etc/group

④usermod修改用戶

命令:usermod(user modify)

語法:# usermod [選項 選項的值] … 用戶名

作用:修改用戶的各種屬性

選項:-g:表示指定用戶的用戶主組,選項的值可以是用戶組的ID,也可以是組名

-G:表示指定用戶的用戶附加組,選項的值可以是用戶組的ID,也可以是組名

-u:uid,用戶的id(用戶的標識符),系統默認會從500 之後按順序分配uid,如果不想使用系統分配的,可以通過該選項自定義【類似於騰訊QQ 的自選靚號情況】

-L:鎖定用戶,鎖定後用戶無法登陸系統lock

-U:解鎖用戶unlock

-c<備註>:修改用戶帳號的備註文字

-d<登入目錄>:修改用戶登入時的目錄

-s:修改用戶登入後所使用的shell

企業場景2:

公司員工wangwu,屬於shhr部門,現在要休產假,產假期間,暫時停止她登陸電腦的權限,同時原來屬於gzhr部門的員工lisi,負責wangwu的工作,所以,需要把lisi加入到shhr的組,同時,修改lisi的賬戶註釋爲“gzhr shhr user”

對於wangwu用戶,我們要執行鎖定和解鎖操作

對於lisi用戶,我們要將lisi加入到shhr的附加組,同時修改lisi賬戶的註釋

用法一:usermod -L 王五賬戶名示例代碼:

#usermod -L wangwu

含義:將王五賬戶暫時鎖定

用法二:usermod -U 王五賬戶名示例代碼:

#usermod -U wangwu

含義:將王五賬戶解鎖

linux用戶組管理命令詳細介紹

 

用法三:usermod -G 組名 -c “註釋內容” 李四用戶賬號

示例代碼:

#usermod -G shhr -c "shhr user" lisi

含義:將李四的賬戶加入shhr組,並修改註釋內容爲shhr user

linux用戶組管理命令詳細介紹

 

⑤passwd修改用戶密碼

Linux 不允許沒有密碼的用戶登錄到系統,因此前面創建的用戶目前都處於鎖定狀態,需要設置密碼之後才能登錄計算機。

命令:passwd

語法:# passwd 用戶名 【如果不指定用戶名則修改自己的密碼】

作用:修改用戶密碼

企業場景3:

​王五產假休完回到公司上班,需要將王五的賬戶解鎖,在使用usermod -U解鎖時,我們看到一個錯誤信息如下:

usermod: unlocking the user's password would result in a passwordless account.

解鎖這個賬戶,將導致一個沒有密碼的賬戶,因爲之前王五的賬戶沒有密碼。這時候,我們就需要使用passwd命令,給王五的賬戶設置一個密碼。

用法一:passwd 賬戶名示例代碼:

#passwd wangwu

含義:爲wangwu賬戶設置密碼注意:當密碼過於簡單時,系統會提示這是一個不好的密碼,因爲它太簡單了,但是我們仍然可以堅持使用這個密碼。在我們輸入密碼時,屏幕不會有任何顯示。密碼需要輸入兩次,請確保兩次輸入的密碼是一樣的。示例代碼:設置wangwu的用戶密碼

linux用戶組管理命令詳細介紹

 

⑥認識/etc/shadow文件

由於 /etc/passwd文件允許所有用戶讀取,易導致用戶密碼泄露,因此 Linux 系統將用戶的密碼信息從 /etc/passwd 文件中分離出來,並單獨放到了shadow文件中。

/etc/shadow 文件只有 root 用戶擁有讀權限,其他用戶沒有任何權限,這樣就保證了用戶密碼的安全性。

與用戶密碼相關的文件:/etc/shadow

爲用戶設置密碼之後,會自動在/etc/shadow文件中進行體現,使用vim編輯器打開:

linux用戶組管理命令詳細介紹

 

第一列爲用戶名,例如zhangsan

後面是加密後的密碼,就是$開頭的字符串。

如果顯示爲!!則表示這個用戶沒有設置密碼。

由以上截圖所知,zhangsan,lisi是沒有設置密碼的。wangwu我們剛剛設置了密碼,所以顯示爲一個加密的字符創。

任務:新建一個賬戶叫ityunwei

新建第二個賬戶叫shichang

給ityunwei賬戶設置一個密碼

進入shadow文件,觀察兩個賬戶的區別

⑦su切換用戶

在設置用戶密碼之後就可以使用此賬號進行登錄系統了,如果系統處於已登錄狀態,則可以使用su命令進行切換用戶。

爲了系統安全,企業中通常不會允許root用戶直接登錄計算機,但是工作需要,我們又需要使用root權限,這時候,我們就可以先使用一個普通用戶登錄計算機,再通過su命令切換到root權限。

命令:su

語法:# su [-] 賬號

作用:切換用戶

用法一:su 用戶名

示例代碼:

#su root

含義:切換到root權限

注意:a. 從root 往普通用戶切換不需要密碼,但是反之則需要root 密碼;b. 切換用戶之後前後的工作路徑是不變的,添加了選項[-]會自動切換到用戶的家;c. 普通用戶沒有辦法訪問root 用戶家目錄,但是反之則可以;

linux用戶組管理命令詳細介紹

 

啓用wheel組設置(瞭解)

步驟1:使用vim編輯器 打開/etc/pam.d/su文件

linux用戶組管理命令詳細介紹

 

步驟2:編輯文件,去掉auth required pamwheel.so useuid這一行前面的#,使這一行配置生效

linux用戶組管理命令詳細介紹

 

步驟3:下面是去掉#後的狀態

linux用戶組管理命令詳細介紹

 

步驟4:保存退出 :wq

這時,只有在wheel組內的用戶纔可以su到root

⑧userdel刪除用戶

命令:userdel

語法:# userdel 選項 用戶名

作用:刪除賬戶及其對應家目錄

選項:-r:表示刪除用戶的同時,刪除其家目錄/home下的對應文件夾。

linux用戶組管理命令詳細介紹

 

注意:已經登錄的wangwu用戶刪除的時候提示刪除失敗,但是沒有登錄的lisi 用戶可以正常刪除,那這個時候想刪除wangwu怎麼辦呢?

linux用戶組管理命令詳細介紹

 

解決辦法:簡單粗暴,kill 對應用戶的全部進程

linux用戶組管理命令詳細介紹

 

linux用戶組管理命令詳細介紹

 

linux用戶組管理命令詳細介紹

 

提示:所有跟用戶操作的命令(除passwd 外,只能修改自己的密碼,即不指定用戶名)只有root 超級管理員有權限執行。

備註:也可以在登錄需要刪除的用戶之後,按下快捷鍵“ctrl+d”進行對當前用戶的註銷,隨後退回到上一個用戶(root)此時就可以對需要刪除的用戶進行刪除操作。

刪除賬號=>刪除家=>刪除所屬組(主組)

三、管道

1、管道符

管道符:|

作用:管道是一種通信機制,通常用於進程間的通信。它表現出來的形式將前面每一個進程的輸出(stdout)直接作爲下一個進程的輸入(stdin)。

linux用戶組管理命令詳細介紹

 

2、過濾功能

#ls / | grep “y”

grep 指令用於“過濾”grep 語法:grep 選項 文件路徑/內容

針對上面這個命令說明:① 以管道作爲分界線,前面的命令有個輸出,後面需要先輸入(缺少查找範圍),然後再過濾,最後再輸出,通俗的講就是管道前面的輸出就是後面指令的輸入。爲了便於理解,上述的指令變相實現可以如下:

#ls / > xxx.txt 將ls /的結果保存到xxx.txt文件中

#grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行

② grep 指令:主要用於過濾語法:# grep [選項] “搜索關鍵詞” 搜索範圍

示例代碼:獲取/根目錄下包含關鍵字"y"的文件信息

linux用戶組管理命令詳細介紹

 

#ll/ |grep y

linux用戶組管理命令詳細介紹

 

3、特殊功能

通過管道的操作方法來實現less 的等價效果(瞭解)

例如:源指令是"less xxx.txt"使用管道的話則可以寫成:cat xxx.txt | less

之前可以通過less命令查看一個文件,可以# less 路徑

現在通過管道還可以:#cat 路徑 | less

示例代碼:

linux用戶組管理命令詳細介紹

 

4、擴展處理

問題:請使用學過的命令,來統計某個目錄下的文檔的總個數?

示例代碼:使用Linux命令統計“/”下的文檔的個數

linux用戶組管理命令詳細介紹

 

示例代碼:用戶在計算機中有一個配置文件(/etc/passwd),一般情況下,一個用戶會佔用一行配置,請你使用現學的管道統計當前計算機中一共有多少個用戶個信息

linux用戶組管理命令詳細介紹

 

5、xargs命令擴展

問題:爲什麼需要xargs命令?

答:之所以能用到這個命令,關鍵是由於很多命令不支持|管道來傳遞參數,而日常工作中有有這個必要,所以就有了 xargs 命令。

linux用戶組管理命令詳細介紹

 

首先來看一個命令:

powershell find /etc -name "*.conf" | ls -l (錯誤)find /etc -name "*.conf" | xargs ls -l (正確)

xargs特別說明:

xargs 可以將管道或標準輸入(stdin)數據轉換成命令行參數,也能夠從文件的輸出中讀取數據。 xargs 也可以將單行或多行文本輸入轉換爲其他格式,例如多行變單行,單行變多行。xargs 默認的命令是 echo,這意味着通過管道傳遞給 xargs 的輸入將會包含換行和空白,不過通過 xargs 的處理,換行和空白將被空格取代。 xargs 是一個強有力的命令,它能夠捕獲一個命令的輸出,然後傳遞給另外一個命令。

示例代碼:多行輸入單行輸出

linux用戶組管理命令詳細介紹

 

示例代碼:-n 選項多行輸出

linux用戶組管理命令詳細介紹

 

四、網絡配置

1、ifconfig查看網絡信息

命令:ifconfig

作用:獲取網卡的相關信息

語法:# ifconfig

用法一:ifconfig示例代碼:

#ifconfig

含義:查看網絡信息注意,我們發現當前ens33看不到IP地址信息,那是因爲網卡默認不啓動。

linux用戶組管理命令詳細介紹

 

手動啓動網卡連接,我們暫時使用圖形化的方式,點擊屏幕右上角電源按鈕,在彈出菜單選擇Connect。

linux用戶組管理命令詳細介紹

 

點擊connect之後,我們會看到顯示已連(Connected)

linux用戶組管理命令詳細介紹

 

再次使用ifconfig命令,查看網絡信息

linux用戶組管理命令詳細介紹

 

192.168.81.130

ens33 :是默認的網卡

lo(loop,循環):表示迴環網卡

virbr0:虛擬網絡接口,因爲咱們使用vmware虛擬機安裝Centos

2、網卡配置文件位置

Linux的網卡配置文件,存放在/etc/sysconfig/network-scripts目錄下,文件名格式爲ifcfg-網卡名稱

linux用戶組管理命令詳細介紹

 

我們可以看到,ifconfig命令中顯示我們的網卡叫做ens33,對應的,這裏就有一個ifcfg-ens33的文件

3、配置文件詳解

使用cat命令,查看ifcfg-ens33文件

linux用戶組管理命令詳細介紹

 

4、systemctl查看網卡狀態

命令:systemctl

語法:# systemctl status network

用法一:systemctl status network示例代碼:

systemctl status network

含義:查看網絡狀態,active表示啓用的,活動的。

linux用戶組管理命令詳細介紹

 

5、systemctl啓動/重啓/停止網卡

命令:systemctl

語法:# systemctl start/stop/restart network

參數:start啓動,restart重啓,stop停止

用法一:systemctl start/stop/restart network示例代碼:

#systemctl stop network

含義:停止網卡服務

#systemctl start network

含義:開啓網卡服務

#systemctl restart network

含義:重啓網卡服務

linux用戶組管理命令詳細介紹

 

五、使用客戶端軟件連接linux

1、什麼是SSH

簡單說,SSH是一種網絡協議,用於計算機之間的加密登錄。

2、常用SSH終端工具

SecureCRT

官網:http://www.vandyke.comSecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX或Linux服務器主機的軟件。

XShell

官網:http://www.netsarang.com

Xshell是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。Xshell 通過互聯網到遠程主機的安全連接以及它創新性的設計和特色幫助用戶在複雜的網絡環境中享受他們的工作。

Putty

官網:http://www.putty.org

PuTTY爲一開放源代碼軟件,主要由Simon Tatham維護,使用MIT licence授權。

MobaXterm

官網:https://mobaxterm.mobatek.net/

3、使用MobaXterm連接linux

步驟1:打開軟件,點擊session

linux用戶組管理命令詳細介紹

 

步驟2:在彈出窗口中選擇ssh,在 remote host對話框輸入要連接的服務器IP地址

linux用戶組管理命令詳細介紹

 

 

步驟3:輸入用戶名和密碼,注意輸入密碼的時候,屏幕是沒有反應的。

linux用戶組管理命令詳細介紹

 

步驟4:輸入用戶密碼後回車,看到如下界面,表示已經成功連接

linux用戶組管理命令詳細介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章