更新時間:2020-03-14 來源:傳智播客 瀏覽量:
學習目標
1、了解用戶和用戶組的概念
2、可以添加useradd和刪除userdel用戶,修改用戶密碼passwd
3、可以添加groupadd和刪除groupdel用戶組
4、了解管道符|的作用
5、會使用ifconfig查看IP地址
6、了解網卡配置文件的位置和常見配置項
7、知道常用的SSH客戶端連接工具
8、會使用mobaxterm連接到linux
文章目錄
一、用戶與用戶組的概念
用戶和用戶組管理,就是添加用戶和用戶組,針對每個用戶設置不同的密碼。
問題:大家平時的筆記本電腦,會設置多個賬戶嗎?為什么?
服務器要添加多賬戶的作用
·針對不同用戶分配不同的權限,不同權限可以限制用戶可以訪問到的系統(tǒng)資源
·提高系統(tǒng)的安全性
·幫助系統(tǒng)管理員對使用系統(tǒng)的用戶進行跟蹤
Linux 系統(tǒng)是一個多用戶多任務的操作系統(tǒng),所謂多用戶多任務,是指支持多個用戶在同一時間內登陸,不同用戶可以執(zhí)行不同的任務,并且互不影響。
例如:
小明所在的運維團隊一共有四個人,分別有大毛,二毛,三毛,大毛負責網站,他的賬戶叫wangzhan, 二毛負責數據庫,他的賬戶叫shujuku。
在同一時間,大毛和二毛都可以登錄這臺服務器,大毛可以查詢網站的日志,二毛可以處理數據庫的問題,他們之間互不影響。
由于我們設置了權限,大毛只能訪問網站的日志,無法訪問數據庫;二毛可以處理數據庫問題,但是不能訪問網站的日志。這就實現(xiàn)了我們的多用戶多任務的運行機制。
任何一個運維人員想要登錄服務器,都必須先申請一個賬號,然后以這個賬號的身份進入系統(tǒng),就像我們前面說的wangzhan這個賬號。每個賬號都擁有一個唯一的用戶名和各自的密碼,用戶在登錄時輸入正確的用戶名和密碼后,就能夠進入系統(tǒng),默認會進入到這個用戶自己的主目錄
用戶組是具有相同特征用戶的邏輯集合,簡單來說,就是具有相同權限的用戶的集合。
例如:
人事部有20名員工,他們都需要訪問一個文件夾,如果我們給這20個用戶的賬號分別設置權限,這樣太麻煩了,所以我們會建立一個用戶組叫HR,對這個組設置權限,將這20個用戶加入這個組就可以了。
A 一個用戶可以屬于一個用戶組,具有此用戶組的權限。
HR組可以訪問/hrfile的文件夾,當user01屬于HR組,那么user01就可以訪問/hrfile這個文件夾
B 一個用戶可以屬于多個用戶組,此時具有多個組的共同權限
HR可以訪問/hrfile的文件夾,運維可以訪問/yunweifile的文件夾,當user01同時屬于HR組和運維組,那么user01可以訪問 /hrfile和/yunweifile
C 多個用戶可以屬于一個用戶組,多個用戶都具有此用戶組的權限。
主組:指用戶創(chuàng)建時默認所屬的組,每個用戶的主組只能有一個。創(chuàng)建用戶時會同時創(chuàng)建一個和用戶名相同的組。
例如:添加用戶xiaoming,在建立用戶 xiaoming 的同時,就會建立 xiaoming 組作為 xiaoming 用戶的初始組。
附加組:每個用戶只能有一個主組,除主組外,用戶再加入其他的用戶組,這些用戶組就是這個用戶的附加組。每個用戶的附加組可以有多個,而且用戶可以有這些附加組的權限。
通常用戶和用戶組的管理,包含以下工作:
☆ 用戶組的管理
☆ 用戶賬號的添加、刪除、修改以及用戶密碼的管理
注意三個文件:
/etc/passwd 用戶配置文件,存儲用戶的基本信息
/etc/group 存儲用戶組的信息
/etc/shadow 存儲用戶的密碼信息
用戶組的管理包括用戶組的添加、刪除和修改。
為什么要建立用戶組
前面我們說過,人事部有20名員工,我們要建立一個組,叫hr,這樣就不用分別給20個員工設置權限了。
命令:groupadd
作用:添加組
語法:# groupadd [參數選項 選項值] 用戶組名
選項:-g:設置用戶組ID 數字,如果不指定,則默認從1000 之后遞增
用法一:groupadd 組名
示例代碼:
#groupadd hr
含義:新建一個組叫做hr
提示:linux下我們執(zhí)行完命令,有時候會沒有任何提示,直接回到#提示符,這種狀態(tài)表明,命令執(zhí)行成功,沒有報錯?!?strong>沒有消息就是最好的消息”。
存儲用戶組信息的文件:/etc/group
使用cat命令,查看/etc/group文件,我們可以看到如下圖所示:
/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密碼,換句話說,默認此配置不生效。
命令: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
命令:groupdel
語法:# groupdel 用戶組名
案例:刪除bjhr組
用法一:groupdel 組名
示例代碼:
groupdel bjhr
含義:將bjhr組刪除
用戶的管理涉及用戶的添加、刪除和修改。
與用戶相關的文件:/etc/passwd
命令:useradd
作用:添加用戶
語法:# useradd [選項 選項的值] … 用戶名
選項:
-g:表示指定用戶的用戶主(主要)組,選項值可以是用戶組ID,也可以是組名
-G:表示指定用戶的用戶附加(額外)組,選項值可以是用戶組ID,也可以是組名
-u :uid,用戶的id(用戶的標識符),系統(tǒng)默認會從500 /或1000之后按順序分配uid,如果不想使用系統(tǒng)分配的,可以通過該選項自定義【類似于騰訊QQ 的自選靚號情況】
-c:comment,添加注釋(選擇是否添加)
-s:指定用戶登入后所使用的shell 解釋器,默認/bin/bash【專門的接待員】,如果不想讓其登錄,則可以設置為/sbin/nologin (重要)
-d:指定用戶登入時的啟始目錄(家目錄位置)
-n:取消建立以用戶名稱為名的群組(了解)
當我新建一個賬戶叫user01, 同時,系統(tǒng)會自動建立一個組也叫user01
用法一:useradd 用戶名
示例代碼:
#useradd zhangsan
含義:創(chuàng)建用戶zhangsan,不帶任何選項。
注意:不用任何參數,創(chuàng)建用戶,系統(tǒng)會默認執(zhí)行以下操作:
1)在 /etc/passwd 文件中創(chuàng)建一行關于zhangsan用戶的數據
2)在 /etc/shadow 文件中新增了一行關于zhangsan 密碼的數據
3)在 /etc/group 文件中創(chuàng)建一行與用戶名相同的組,例如zhangsan
4)在 /etc/gshadow 文件中新增一行與新增群組相關的密碼信息,例如zhangsan
5)自動創(chuàng)建用戶的家目錄,默認在/home下,與用戶名同名
驗證是否成功:
1)使用tail文件查看/etc/passwd文件
2)使用tail文件查看/etc/group文件
3)驗證是否存在家目錄(在Centos 下創(chuàng)建好用戶之后隨之產生一個同名家目錄)
使用vim命令打開/etc/passwd文件,如下圖所示:
root : x : 0 : 0 : root : /root : /bin/bash
用戶名 : 密碼 : 用戶ID : 用戶組ID : 注釋 : 家目錄 : 解釋器shell
用戶名:登錄linux時使用的用戶名
密碼:此密碼位置一般情況都是"x",表示密碼的占位,真實密碼存儲在/etc/shadow
用戶ID:用戶的識別符,每個用戶都有唯一的UID【-u】
用戶組ID:該用戶所屬的主組ID;【-g】
注釋:解釋該用戶是做什么用的;【-c】
目錄:用戶登錄進入系統(tǒng)之后默認的位置;【-d】
解釋器shell:等待用戶進入系統(tǒng)之后,用戶輸入指令之后,該解釋器會收集用戶輸入的指令,轉換成機器語言,傳遞給內核處理;如果解釋器是/bin/bash 表示用戶可以登錄到系統(tǒng),/sbin/nologin表示該用戶不能登錄到系統(tǒng)【-s】
下面我們來看一下對于useradd參數的使用
企業(yè)場景1:
公司新員工lisi,屬于gzhr部門,用戶ID1200,不允許登錄系統(tǒng)
創(chuàng)建用戶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
含義:創(chuàng)建用戶lisi,不帶任何選項。
gzhr行的含義:在gzhr的組里(組id 是1002)有一個組內用戶lisi(lisi 的附加組就是1002,附加組的名字是gzhr)。 如果需要為一個用戶指定多個附加組,只需要將多個附加組的id 通過英文逗號“,”分割即可。 例如-G 500,501,502
① 主組只能有1 個(類似于親生父母只有一對),附加組可以多個,也可以沒有附加組(類似于認干爹干媽,可以有也可以沒有,也可以有多個)
② 主組必須有
③ 后期將權限管理的時候,關于文檔的屬組指的是主組(了解)
命令:id
作用:查看一個用戶的一些基本信息(包含用戶id,用戶組id,附加組id…),該指令如果不指定用戶則默認當前用戶。
語法1:# id 默認顯示當前執(zhí)行該命令的用戶的基本信息
語法2:# id 用戶名, 顯示指定用戶的基本信息
如何驗證以上信息是否正確?
答:驗證用戶信息:通過文件/etc/passwd,驗證用戶組信息:通過文件/etc/group
命令:usermod(user modify)
語法:# usermod [選項 選項的值] … 用戶名
作用:修改用戶的各種屬性
選項:
-g:表示指定用戶的用戶主組,選項的值可以是用戶組的ID,也可以是組名
-G:表示指定用戶的用戶附加組,選項的值可以是用戶組的ID,也可以是組名
-u:uid,用戶的id(用戶的標識符),系統(tǒng)默認會從500 之后按順序分配uid,如果不想使用系統(tǒng)分配的,可以通過該選項自定義【類似于騰訊QQ 的自選靚號情況】
-L:鎖定用戶,鎖定后用戶無法登陸系統(tǒng)lock
-U:解鎖用戶unlock
-c<備注>:修改用戶帳號的備注文字
-d<登入目錄>:修改用戶登入時的目錄
-s:修改用戶登入后所使用的shell
企業(yè)場景2:
公司員工wangwu,屬于shhr部門,現(xiàn)在要休產假,產假期間,暫時停止她登陸電腦的權限,同時原來屬于gzhr部門的員工lisi,負責wangwu的工作,所以,需要把lisi加入到shhr的組,同時,修改lisi的賬戶注釋為“gzhr shhr user”
對于wangwu用戶,我們要執(zhí)行鎖定和解鎖操作
對于lisi用戶,我們要將lisi加入到shhr的附加組,同時修改lisi賬戶的注釋
用法一:usermod -L 王五賬戶名
示例代碼:
#usermod -L wangwu
含義:將王五賬戶暫時鎖定
用法二:usermod -U 王五賬戶名
示例代碼:
#usermod -U wangwu
含義:將王五賬戶解鎖
用法三:usermod -G 組名 -c “注釋內容” 李四用戶賬號
示例代碼:
#usermod -G shhr -c "shhr user" lisi
含義:將李四的賬戶加入shhr組,并修改注釋內容為shhr user
Linux 不允許沒有密碼的用戶登錄到系統(tǒng),因此前面創(chuàng)建的用戶目前都處于鎖定狀態(tài),需要設置密碼之后才能登錄計算機。
命令:passwd
語法:# passwd 用戶名 【如果不指定用戶名則修改自己的密碼】
作用:修改用戶密碼
企業(yè)場景3:
王五產假休完回到公司上班,需要將王五的賬戶解鎖,在使用usermod -U解鎖時,我們看到一個錯誤信息如下:
usermod: unlocking the user's password would result in a passwordless account.
解鎖這個賬戶,將導致一個沒有密碼的賬戶,因為之前王五的賬戶沒有密碼。這時候,我們就需要使用passwd命令,給王五的賬戶設置一個密碼。
用法一:passwd 賬戶名
示例代碼:
#passwd wangwu
含義:為wangwu賬戶設置密碼
注意:
當密碼過于簡單時,系統(tǒng)會提示這是一個不好的密碼,因為它太簡單了,但是我們仍然可以堅持使用這個密碼。
在我們輸入密碼時,屏幕不會有任何顯示。
密碼需要輸入兩次,請確保兩次輸入的密碼是一樣的。
示例代碼:設置wangwu的用戶密碼
由于 /etc/passwd文件允許所有用戶讀取,易導致用戶密碼泄露,因此 Linux 系統(tǒng)將用戶的密碼信息從 /etc/passwd 文件中分離出來,并單獨放到了shadow文件中。
/etc/shadow 文件只有 root 用戶擁有讀權限,其他用戶沒有任何權限,這樣就保證了用戶密碼的安全性。
與用戶密碼相關的文件:/etc/shadow
為用戶設置密碼之后,會自動在/etc/shadow文件中進行體現(xiàn),使用vim編輯器打開:
第一列為用戶名,例如zhangsan
后面是加密后的密碼,就是$開頭的字符串。
如果顯示為?。t表示這個用戶沒有設置密碼。
由以上截圖所知,zhangsan,lisi是沒有設置密碼的。wangwu我們剛剛設置了密碼,所以顯示為一個加密的字符創(chuàng)。
任務:
新建一個賬戶叫ityunwei
新建第二個賬戶叫shichang
給ityunwei賬戶設置一個密碼
進入shadow文件,觀察兩個賬戶的區(qū)別
在設置用戶密碼之后就可以使用此賬號進行登錄系統(tǒng)了,如果系統(tǒng)處于已登錄狀態(tài),則可以使用su命令進行切換用戶。
為了系統(tǒng)安全,企業(yè)中通常不會允許root用戶直接登錄計算機,但是工作需要,我們又需要使用root權限,這時候,我們就可以先使用一個普通用戶登錄計算機,再通過su命令切換到root權限。
命令:su
語法:# su [-] 賬號
作用:切換用戶
用法一:su 用戶名
示例代碼:
#su root
含義:切換到root權限
注意:
a. 從root 往普通用戶切換不需要密碼,但是反之則需要root 密碼;
b. 切換用戶之后前后的工作路徑是不變的,添加了選項[-]會自動切換到用戶的家;
c. 普通用戶沒有辦法訪問root 用戶家目錄,但是反之則可以;
啟用wheel組設置(了解)
步驟1:使用vim編輯器 打開/etc/pam.d/su文件
步驟2:編輯文件,去掉auth required pamwheel.so useuid這一行前面的#,使這一行配置生效
步驟3:下面是去掉#后的狀態(tài)
步驟4:保存退出 :wq
這時,只有在wheel組內的用戶才可以su到root
命令:userdel
語法:# userdel 選項 用戶名
作用:刪除賬戶及其對應家目錄
選項:-r:表示刪除用戶的同時,刪除其家目錄/home下的對應文件夾。
注意:已經登錄的wangwu用戶刪除的時候提示刪除失敗,但是沒有登錄的lisi 用戶可以正常刪除,那這個時候想刪除wangwu怎么辦呢?
解決辦法:簡單粗暴,kill 對應用戶的全部進程
提示:所有跟用戶操作的命令(除passwd 外,只能修改自己的密碼,即不指定用戶名)只有root 超級管理員有權限執(zhí)行。
備注:也可以在登錄需要刪除的用戶之后,按下快捷鍵“ctrl+d”進行對當前用戶的注銷,隨后退回到上一個用戶(root)此時就可以對需要刪除的用戶進行刪除操作。
刪除賬號=>刪除家=>刪除所屬組(主組)
管道符:|
作用:管道是一種通信機制,通常用于進程間的通信。它表現(xiàn)出來的形式將前面每一個進程的輸出(stdout)直接作為下一個進程的輸入(stdin)。
#ls / | grep “y”
grep 指令用于“過濾”
grep 語法:grep 選項 文件路徑/內容
針對上面這個命令說明:
① 以管道作為分界線,前面的命令有個輸出,后面需要先輸入(缺少查找范圍),然后再過濾,最后再輸出,通俗的講就是管道前面的輸出就是后面指令的輸入。
為了便于理解,上述的指令變相實現(xiàn)可以如下:
#ls / > xxx.txt 將ls /的結果保存到xxx.txt文件中
#grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行
② grep 指令:主要用于過濾
語法:# grep [選項] “搜索關鍵詞” 搜索范圍
示例代碼:獲取/根目錄下包含關鍵字"y"的文件信息
#ll/ |grep y
通過管道的操作方法來實現(xiàn)less 的等價效果(了解)
例如:源指令是"less xxx.txt"使用管道的話則可以寫成:cat xxx.txt | less
之前可以通過less命令查看一個文件,可以# less 路徑
現(xiàn)在通過管道還可以:#cat 路徑 | less
示例代碼:
問題:請使用學過的命令,來統(tǒng)計某個目錄下的文檔的總個數?
示例代碼:使用Linux命令統(tǒng)計“/”下的文檔的個數
示例代碼:用戶在計算機中有一個配置文件(/etc/passwd),一般情況下,一個用戶會占用一行配置,請你使用現(xiàn)學的管道統(tǒng)計當前計算機中一共有多少個用戶個信息
問題:為什么需要xargs命令?
答:之所以能用到這個命令,關鍵是由于很多命令不支持|管道來傳遞參數,而日常工作中有有這個必要,所以就有了 xargs 命令。
powershell find /etc -name "*.conf" | ls -l (錯誤)
find /etc -name "*.conf" | xargs ls -l (正確)
xargs特別說明:
xargs 可以將管道或標準輸入(stdin)數據轉換成命令行參數,也能夠從文件的輸出中讀取數據。 xargs 也可以將單行或多行文本輸入轉換為其他格式,例如多行變單行,單行變多行。
xargs 默認的命令是 echo,這意味著通過管道傳遞給 xargs 的輸入將會包含換行和空白,不過通過 xargs 的處理,換行和空白將被空格取代。 xargs 是一個強有力的命令,它能夠捕獲一個命令的輸出,然后傳遞給另外一個命令。
示例代碼:多行輸入單行輸出
示例代碼:-n 選項多行輸出
命令:ifconfig
作用:獲取網卡的相關信息
語法:# ifconfig
用法一:ifconfig
示例代碼:
#ifconfig
含義:查看網絡信息
注意,我們發(fā)現(xiàn)當前ens33看不到IP地址信息,那是因為網卡默認不啟動。
手動啟動網卡連接,我們暫時使用圖形化的方式,點擊屏幕右上角電源按鈕,在彈出菜單選擇Connect。
點擊connect之后,我們會看到顯示已連(Connected)
再次使用ifconfig命令,查看網絡信息
192.168.81.130
ens33 :是默認的網卡
lo(loop,循環(huán)):表示回環(huán)網卡
virbr0:虛擬網絡接口,因為咱們使用vmware虛擬機安裝Centos
Linux的網卡配置文件,存放在/etc/sysconfig/network-scripts目錄下,文件名格式為ifcfg-網卡名稱
我們可以看到,ifconfig命令中顯示我們的網卡叫做ens33,對應的,這里就有一個ifcfg-ens33的文件
使用cat命令,查看ifcfg-ens33文件
命令:systemctl
語法:# systemctl status network
用法一:systemctl status network
示例代碼:
systemctl status network
含義:查看網絡狀態(tài),active表示啟用的,活動的。
命令:systemctl
語法:# systemctl start/stop/restart network
參數:start啟動,restart重啟,stop停止
用法一:systemctl start/stop/restart network
示例代碼:
#systemctl stop network
含義:停止網卡服務
#systemctl start network
含義:開啟網卡服務
#systemctl restart network
含義:重啟網卡服務
簡單說,SSH是一種網絡協(xié)議,用于計算機之間的加密登錄。
SecureCRT
官網:www.vandyke.com
SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX或Linux服務器主機的軟件。
XShell
官網:www.netsarang.com
Xshell是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協(xié)議。Xshell 通過互聯(lián)網到遠程主機的安全連接以及它創(chuàng)新性的設計和特色幫助用戶在復雜的網絡環(huán)境中享受他們的工作。
Putty
官網:www.putty.org
PuTTY為一開放源代碼軟件,主要由Simon Tatham維護,使用MIT licence授權。
MobaXterm
官網:https://mobaxterm.mobatek.net/
步驟1:打開軟件,點擊session
步驟2:在彈出窗口中選擇ssh,在 remote host對話框輸入要連接的服務器IP地址
步驟3:輸入用戶名和密碼,注意輸入密碼的時候,屏幕是沒有反應的。
步驟4:輸入用戶密碼后回車,看到如下界面,表示已經成功連接
推薦了解:
linux云計算+運維開發(fā)課程