目錄
- 前言
- useradd 創建用戶
- usermod 修改用戶資訊
- userdel 洗掉用戶
- groupadd 創建新的用戶組
- groupdel 洗掉用戶組
- passwd 修改用戶密碼
- chage 修改用戶密碼有效期
- 批量更新用戶密碼
- su 切換用戶
- visudo 編輯sudoers檔案
- sudo 以另一個用戶身份執行命令
- id 顯示用戶與用戶組資訊
- w 顯示已登錄用戶資訊
- 顯示已登錄用戶資訊
- users 顯示已登錄用戶
- whoami 顯示當前登錄的用戶
- last 顯示用戶登錄串列
- lastb 顯示用戶登錄失敗的記錄
- lastlog 顯示所有用戶最近登錄記錄
前言
上一篇中已經預告,我們這篇主要說一說Linux中用戶相關的命令,
可能各位小伙伴用的Windows會比較多一點,在Windows作業系統中,我們知道有Administrator用戶,Administrator 是Windows系統中的管理員用戶,有著最高的權限,
用戶登錄Administrator后可以創建Gust等用戶,修改密碼并且給Gust用戶分配相應的權限,
同樣的在Linux中,root就相當于Administrator用戶,具有著最高權限,登錄root 用戶可以創建用戶、修改用戶密碼、給用戶分配角色等等,
下面思維導圖中列出了我們需要掌握的19個命令
useradd 創建用戶
1、簡介
useradd 命令用戶創建新的用戶或者更改用戶資訊
2、原理
3、語法格式
useradd [引數選項] [用戶名]
或
useradd -D [引數選項]
4、引數說明
① 不加選項-D引數
引數選項 | 引數說明 |
---|---|
-c comment | 加上備注資訊,會保存到passwd備注欄中(第五列) |
-d home_dir | 新用戶每次登錄時使用的家目錄 |
-e expire_date | 用戶終止日期 |
-f inactive_days | 用戶過期幾日后永久停權 |
-g initial_group | 指定用戶對應的用戶組,用戶組必須是系統現在已存在的名詞 |
-G group,[...] | 定義此用戶為多個不同組的成員,每個用戶組使用逗號(,)分割 |
-m | 用戶目錄如不存在則自動建立 |
-M | 不建立家目錄,優先于、etc/login.defs檔案設定,【創建虛擬用戶時一般不需要建立家目錄,部署應用服務時則需要創建虛擬用戶】 |
-n | 默認情況下用戶的用戶組和用戶名稱是相同的,通過該引數,就不會生成與用戶名一樣的用戶組了 |
-s shell | 用戶登錄后使用的Shell名稱,默認不填寫,系統會使用組態檔(/etc/default/useradd)中的預設值 |
-u uid | 用戶ID值,這個值是唯一的 |
② 加-D選項引數
引數選項 | 引數說明 |
---|---|
-b defalut_home | 定義用戶家目錄的基本目錄,當用戶家目錄不存在時,此目錄將作為家目錄生效 |
-e defalut_expire_date | 用戶賬號停止日期 |
-f defalut_inactive | 用戶過期幾日后停權 |
-g defalut_group | 新用戶起始用戶組名或ID,用戶組名必須為現已存在的名稱 |
-s default_shell | 用戶登錄后使用Shell名稱 |
5、實踐操作
① 不加任何引數添加用戶
# 創建xiezhrspace 用戶
[root@xiezhr ~]# useradd xiezhrspace
# /home/ 路徑下新生成一個xiezhrspace 目錄,這個就是xiezhrspace用戶的家目錄
[root@xiezhr ~]# ls -ld /home/xiezhrspace
drwx------ 2 xiezhrspace xiezhrspace 4096 Aug 29 23:05 /home/xiezhrspace
在前面我們說過創建一個新用戶會在/etc/shadow、/etc/group 和/etc/gshsdow 檔案中生成相關資訊,具體是不是這樣的呢?
我們去看一看(●'?'●)
# 在創建用戶時候沒有指定密碼,但是shadow還是生成了一行資訊
[root@xiezhr ~]# grep -w xiezhrspace /etc/shadow
xiezhrspace:!!:19233:0:99999:7:::
# 創建用戶時,默認會創建與用戶名同名的用戶組
[root@xiezhr ~]# grep -w xiezhrspace /etc/group
xiezhrspace:x:1002:
#組密碼檔案中也會增加一條資訊
[root@xiezhr ~]# grep -w xiezhrspace /etc/gshadow
xiezhrspace:!::
② 創建一個組,并將新建用戶歸于這個組
# 創建一個gid 為808 的用戶組
[root@xiezhr ~]# groupadd -g 808 xiezhrgroup
# 創建一個uid為908的用戶xietest,并將用戶歸于xiezhrgroup組
[root@xiezhr ~]# useradd -g xiezhrgroup -u 908 xietest
# 查看用戶資訊
[root@xiezhr ~]# id xietest
uid=908(xietest) gid=808(xiezhrgroup) groups=808(xiezhrgroup)
③ -M -s引數的使用(在生產環境中部署Nginx、MySQL等服務經常使用)
# -M 不創建見目錄
# -s 指定登錄后的Shell
# /sbin/nologin 表示禁止登陸
[root@xiezhr ~]# useradd -M -s /sbin/nologin xiaofang
[root@xiezhr ~]# ls -ld /home/xiaofang
ls: cannot access /home/xiaofang: No such file or directory
[root@xiezhr ~]# grep -w xiaofang /etc/passwd
xiaofang:x:1003:1003::/home/xiaofang:/sbin/nologin
/etc/passwd 檔案說明
xiaofang | x | 1003 | 1003 | /home/xiaofang | /sbin/nologin | |
---|---|---|---|---|---|---|
用戶名稱 | 賬號密碼 | 賬號UID | 賬號組GID | 用戶說明 | 用戶家目錄 | shell解釋器 |
usermod 修改用戶資訊
1、簡介
usermod 命令用于修改系統已經存在的用戶賬號資訊
2、語法格式
usermod [引數選項] [用戶名]
3、引數選項
引數 | 引數說明 |
---|---|
-c comment | 修改用戶password檔案中用戶的說明欄,與useradd -c 功能相同 |
-d home_dir | 修改用戶的家目錄 與useradd -d 功能相同 |
-e expire_date | 修改用戶終止日期 與useradd -e 功能相同 |
-f inactive_days | 修改用戶過期后幾日永久停權 與useradd -f 功能相同 |
-g initial_group | 修改用戶對應的用戶組 與useradd -g 功能相同 |
-G group,[......] | 修改此用戶為多個不同組的成員 與useradd -G功能相同 |
-m | 用戶目錄如果不存在則自動建立 |
-M | 不建立用戶家目錄,一般創建虛擬用戶時不建立家目錄,不是nginx、redis等服務是需要創建虛擬用戶 |
-n | 默認情況下,用戶的用戶組與用戶的名稱相同 |
-s shell | 修改用戶登入后使用的Shell名稱 與useradd -s 功能相同 |
-u uid | 修改用戶的ID值 與useradd -u 功能相同 |
-a | 追加用戶到用戶組 僅與-G引數連用 |
-l | 修改用戶賬號名稱 |
-L | 鎖定用戶密碼,不讓用戶改密碼 |
-U | 解除密碼鎖定 |
4、實踐操作
將前面創建的xiezhr 用戶的用戶注釋修改為“測驗用戶”,UID 修改為888,歸屬修改為用戶組root、xiezhr 成員,其Shell型別為/sbin/nologin,設定家目錄為/home/xiezhr 用戶過期時間為2022-10-02 ,過期后15天停權
[root@xiezhr ~]# usermod -u 888 -s /sbin/nologin -c "測驗用戶" -G root -e "2022/10/02" -f 30 -d /home/xiezhr xiezhr
[root@xiezhr ~]# grep -w xiezhr /etc/passwd
xiezhr:x:888:1001:測驗用戶:/home/xiezhr:/sbin/nologin
[root@xiezhr ~]# id xiezhr
uid=888(xiezhr) gid=1001(xiezhr) groups=1001(xiezhr),0(root)
[root@xiezhr ~]# grep -w xiezhr /etc/shadow
xiezhr:!!:19233:0:99999:7:30:19267:
[root@xiezhr ~]# chage -l xiezhr
Last password change : Aug 29, 2022
Password expires : never
Password inactive : never
Account expires : Oct 02, 2022
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
userdel 洗掉用戶
1、簡介
userdel 命令用戶洗掉指定的用戶及與該用戶相關的檔案
2、語法格式
userdel [參屬選項] [用戶名]
3、引數選項
引數 | 引數說明 |
---|---|
-f | 強制洗掉用戶,即使用戶當前登錄 |
-r | 洗掉用戶的同時,洗掉與用戶相關的所有檔案 |
4、實踐操作
① 不加引數洗掉用戶
[root@xiezhr home]# tail -4 /etc/passwd
xiezhr:x:888:1001:測驗用戶:/home/xiezhr:/sbin/nologin
xiezhrspace:x:1002:1002::/home/xiezhrspace:/bin/bash
xietest:x:908:808::/home/xietest:/bin/bash
xiaofang:x:1003:1003::/home/xiaofang:/sbin/nologin
[root@xiezhr home]# ll /home/xietest/ -ld
drwx------ 2 xietest xiezhrgroup 4096 Aug 29 23:16 /home/xietest/
[root@xiezhr home]# userdel xietest
[root@xiezhr home]# grep -w xietest /etc/passwd
[root@xiezhr home]# ll /home/xietest/ -ld
drwx------ 2 908 xiezhrgroup 4096 Aug 29 23:16 /home/xietest/
② 加 -r 引數洗掉用戶及加目錄
[root@xiezhr home]# ls -ld /home/xiezhr001/
drwx------ 2 xiezhr001 xiezhr001 4096 Sep 4 19:50 /home/xiezhr001/
[root@xiezhr home]# grep -w xiezhr001 /etc/passwd
xiezhr001:x:1005:1005::/home/xiezhr001:/bin/bash
[root@xiezhr home]# userdel -r xiezhr001
[root@xiezhr home]# grep -w xiezhr001 /etc/passwd
[root@xiezhr home]# ls -ld /home/xiezhr001/
ls: cannot access /home/xiezhr001/: No such file or directory
注意
- 在實際作業中,盡量不要使用userdel洗掉用戶,只需要在/etc/passwd里注釋用戶就可以了,
- 在使用-r引數一定要慎重,-r引數會將家目錄下所有檔案和目錄都洗掉,該程序是不可逆的
groupadd 創建新的用戶組
1、簡介
groupadd 用于創建新的用戶組,實際作業中一般也不用,因為useradd命令在創建用戶的時候也會創建一個同名的用戶組
2、語法格式
groupadd [引數選項] [用戶組]
3、引數選項
引數 | 引數說明 |
---|---|
-g gid | 指定用戶組的gid,除非接-o引數,否則ID值唯一且不為負,如果不指定-g引數,則gid從500開始 |
-f | 新增一個賬戶,強制覆寫一個已存在的組賬號 |
4、實踐操作
指定gid添加用戶組
# 添加GID為123的test1用戶組
[root@xiezhr ~]# groupadd -g 123 test
[root@xiezhr ~]# tail -l /etc/group
test:x:123:
[root@xiezhr ~]# tail -l /etc/gshadow
test:!::
groupdel 洗掉用戶組
1、簡介
groupdel 命令用戶洗掉指定的用戶組,一般不用
2、語法格式
groupdel [用戶組]
3、實踐操作
洗掉test用戶組
[root@xiezhr ~]# groupdel test
[root@xiezhr ~]# grep -w test /etc/group
passwd 修改用戶密碼
1、簡介
passwd 命令用于修改用戶密碼及密碼過期使勁啊等,作業中會經常用到,
普通用戶和超級用戶都可以運行passwd命令,普通用戶只能更改自身密碼,超級用戶root則可以設定或修改所有用戶的密碼
2、語法格式
passwd [引數選項] [用戶名]
3、引數選項
引數 | 引數說明 |
---|---|
-k | 為密碼已經過期的用戶更新有效期 |
-l | 鎖定用戶,被鎖定的用戶不能登錄,僅root用戶有此權限 |
--stdin | 從標準輸入讀取密碼字串 |
-u | 解除對用戶的鎖定,僅root用戶有此權限 |
-d | 洗掉用戶密碼,使密碼為空,僅root用戶有此權限 |
-e | 是用戶密碼立即過期,將用戶下次登錄時強制要求用戶修改密碼,僅root用戶有此權限 |
-n | 設定修改該密碼的最短天數 ,僅root用戶有此權限 |
-x | 設定修改密碼的最長天數,僅root用戶有此權限 |
-w | 設定用戶在密碼過期前收到警告資訊的天數,僅root用戶有此權限 |
-i | 設定密碼過期多少天后禁用賬戶,僅root用戶有此權限 |
-S | 顯示用戶密碼相關的簡單描述,僅root用戶有此權限 |
4、實踐操作
① 修改用戶自身密碼
[root@xiezhr ~]# passwd # 修改root用戶自身密碼
Changing password for user root.
New password: # 輸入修改的密碼,系統不會顯示
Retype new password: # 再次輸入密碼
passwd: all authentication tokens updated successfully. # 設定成功了
② 設定及修改普通用戶密碼
[root@xiezhr ~]# passwd xiezhr
Changing password for user xiezhr.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
③ 顯示賬號密碼資訊
[root@xiezhr ~]# passwd -S xiezhr
xiezhr PS 2022-09-05 0 99999 7 30 (Password set, MD5 crypt.)
④一條命令修改密碼
[root@xiezhr ~]# echo "123456"|passwd --stdin xiezhr
Changing password for user xiezhr.
passwd: all authentication tokens updated successfully.
⑤ 設定xiezhr用戶7天內不能更改密碼,60天以后必須修改密碼,過期10天通知用戶,過期30天后禁止用戶登錄
[root@xiezhr ~]# passwd -n 7 -x 60 -w 10 -i 30 xiezhr
Adjusting aging data for user xiezhr.
passwd: Success
chage 修改用戶密碼有效期
1、簡介
chage 命令用于查看或修改用戶密碼有效期
2、語法格式
chage [引數選項] [用戶名]
3 、引數選項
引數 | 引數說明 |
---|---|
-d | 設定上一次密碼更改的日期 |
-E | 賬號過期的日期,日期格式:YYYY-MM-DD |
-I | 設定密碼過期多少天后禁用賬戶 |
-l | 顯示賬號有效期資訊 |
-m | 密碼可更改的最小天數,默認為0,即任何時候都可以修改 |
-M | 密碼保持有效的最大天數 |
-W | 密碼到期前,提前收到警告資訊天數 |
4、實踐操作 | |
設定xiezhr用戶7天內不能更改密碼,60天以后必須修改密碼,過期10天通知xiezhr 用戶,過期30天后禁止用戶登錄 |
[root@xiezhr ~]# chage -m 7 -M 60 -W 10 -I 30 xiezhr
批量更新用戶密碼
1、簡介
chpasswd 命令用于從標準輸入中讀取一定格式的用戶名、密碼來批量更新用戶的密碼,格式為“用戶名:密碼“
2、語法格式
chpasswd [引數選項]
3、引數選項
引數 | 引數說明 |
---|---|
-c | 默認格式是明文密碼,使用-e引數則需要加密的密碼 |
4、實踐操作 | |
批量修改密碼 |
[root@xiezhr ~]# chpasswd # 輸入chpasswd后,回車
xiezhr:123456 # 格式為用戶名:密碼
testxiezhr:123456 # 一行一個
# 新行按Ctrl+D 結束
su 切換用戶
1、簡介
su 命令用戶將當前用戶切換到指定用戶或以指定用戶的身份執行命令或程式
2、語法格式
su [引數選項] [用戶名]
3、引數選項
引數 | 引數說明 |
---|---|
-, -l, --login | 切換用戶的同時,將用戶的家目錄/系統環境等重新按切換后的用戶初始化 |
-c | 向Shell 傳遞單個命令 |
4、實踐操作
① 切換到普通用戶
# 切換到testxiezhr用戶,不用輸入密碼即可切換
[root@xiezhr ~]# su - testxiezhr
②切換到root用戶
# 雖然已經切換到了root用戶,但是家目錄還是testxiezhr,環境變數還是testxiezhr用戶的,**這種切換問題很嚴重**
[testxiezhr@xiezhr ~]$ su root
Password: # 普通用戶切換到root用戶需要輸入密碼
[root@xiezhr testxiezhr]# pwd
/home/testxiezhr
# 正確切換方式
[root@xiezhr testxiezhr]# exit
exit
[testxiezhr@xiezhr ~]$ su - root
Password: # 需要輸入密碼
Last login: Mon Sep 5 21:13:39 CST 2022 on pts/3
[root@xiezhr ~]# pwd
/root
注意:
[x] "su 用戶名" 雖然能切換到對應用戶,但切換后的環境變數資訊還是切換之前用戶的
[√] ** ”su - 用戶名“ 不但可以切換到對應用戶,還能將環境變數一起切換**
visudo 編輯sudoers檔案
1、簡介
visudo命令是專門用來編輯 /etc/sudoers這個檔案的,同時提供語法檢查等功能, /etc/sudoers檔案是sudo命令的組態檔,sudo命令在下一個命令你會看到,而為什么不用vi/vim來直接編輯/etc/sudoers檔案呢? 因為如果使用vim 編輯sudoer檔案時沒有語法校驗,編輯錯了會導致授權無法生效
2、語法格式
visudo [引數選項]
3、引數選項
引數 | 引數說明 |
---|---|
-c | 手動執行語法檢查 |
4、實踐操作
①將xiezhr用戶提權為root身份,testxiezhr 用戶具有添加和洗掉用戶的權限
# 以下命令相當于 vim /etc/sudoers 進行編輯sudoers檔案
[root@xiezhr ~]# visudo
#在/etc/sudoers 檔案中添加如下權限
xiezhr ALL=(ALL) ALL # 此行時將xiezhr用戶提權為root身份
testxiezhr ALL=(ALL) /usr/sbin/useradd, /usr/sbin/userdel # 授予可以以root身份添加和洗掉用戶權限
上面操作說明
待授權的用戶或組 | 機器=(授權角色) | 可以執行的命令 |
---|---|---|
testxiezhr | ALL=(ALL) | /usr/sbin/useradd,/usr/sbin/userdel |
② 通過-c引數校驗語法是否正確
通過① 我們已經對xiezhr用戶和testxiezhr用戶做了不同的授權,那么怎么判斷授權的語法是否正確呢
[root@xiezhr ~]# visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/90-cloud-init-users: parsed OK
直接root用戶下操作不就可以了么?為什么要通過sudo授權呢?
我們希望一個用戶具有root權限去干活,但是又不希望這個用戶威脅系統安全,
sudo 以另一個用戶身份執行命令
1、簡介
sudo 命令可以讓普通用戶擁有超級用戶的權限去執行指定的命令或程式,普通用戶不需要知道root密碼就可以得到授權,授權我們在上面已經說過
2、語法格式
sudo [引數選項]
3、引數選項
引數 | 引數說明 |
---|---|
-l | 列出當前用戶可以執行的命令,只有在sudoers 檔案里的用戶才能使用該選項 |
-h | 列出使用方法,并退出 |
-H | 將環境變數中的HOME(家目錄)指定為要變更身份的使用者家目錄 |
-V | 顯示版本資訊,并退出 |
-v | sudo在第一次執行時,或者在N分鐘內沒有執行,則會詢問密碼,引數用于重新做一次確認 |
-u | 以指定用戶的身份執行命令 |
-k | 清除時間戳上的實踐,下次再次使用sudo時要再此輸入密碼 |
-K | 與k類似,同時還洗掉時間戳檔案 |
-b | 在后臺執行指定命令 |
-p | 更改詢問密碼時的提示語 |
-e | 不執行命令,而是修改檔案,相當于sudo edit |
4、sudo 作業原理
5、實踐操作
創建一個testuser 用戶,并對testuser進行sudo授權管理,授權完成后sudo操作
# 1、創建testuser 用戶
[root@xiezhr ~]# useradd testuser
# 2、將testuser 用戶密碼修改為******
[root@xiezhr ~]# passwd testuser
Changing password for user testuser.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
# 3、執行以下命令后添加 `testuser ALL=(ALL) ALL ` 對testuser用戶進行sudo授權 參照下圖
[root@xiezhr ~]# visudo
testuser ALL=(ALL) ALL
# 4、登錄testuser 用戶,查看 當前用戶被授予的sudo權限集合
[testuser@xiezhr ~]$ sudo -l
Matching Defaults entries for testuser on xiezhr:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User testuser may run the following commands on xiezhr:
(ALL) ALL
# 5、登錄testuser用戶,執行ls /root 發現時沒有權限的
[testuser@xiezhr ~]$ ls /root
ls: cannot open directory /root: Permission denied
# 6、當加上sudo 后 再執行ls /root (第一次需要輸入testuser用戶密碼,上面原理圖介紹過),發現可以訪問/root 路徑了,此時testuser 具有了
[testuser@xiezhr ~]$ sudo ls /root
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for testuser:
bdcdb84c414c2493e5856597b89be9f0.gif
6、 sudo 小結
- 對用戶進行sudo授權后,所有用戶執行命令 格式為 sudo + [命令]
- sudo - l 命令可以查看當前用戶被授予的sudo權限集合
- 當我們在授權用戶下執行sudo時,如果需要輸入密碼,此時輸入密碼是當前用戶的密碼
id 顯示用戶與用戶組資訊
1、簡介
id 命令可以顯示指定用戶的ID(UID)和組ID(GID)等有效資訊
2、語法格式
id [引數選項] [用戶名]
3、引數選項
引數 | 引數說明 |
---|---|
-g | 顯示用戶所屬群組的ID |
-G | 顯示用戶所屬附加群組的ID |
-n | 顯示用戶,所屬群組或附加群組的名稱 |
-r | 顯示實際ID |
-u | 顯示用戶ID |
4、實踐操作
顯示用戶的UID和GID
# id 后不跟用戶,默認時當前登錄用戶
[root@xiezhr home]# id
uid=0(root) gid=0(root) groups=0(root)
# 顯示指定用戶資訊
[root@xiezhr home]# id testxiezhr
uid=1006(testxiezhr) gid=1006(testxiezhr) groups=1006(testxiezhr)
# 顯示當前登錄用戶名稱
[root@xiezhr home]# id -gn
root
# 顯示當前登錄用戶GID
[root@xiezhr home]# id -g
0
# 顯示當前登錄用戶UID
[root@xiezhr home]# id -u
0
w 顯示已登錄用戶資訊
1、簡介
w命令可以顯示已經登錄系統的用戶,并顯示用戶正在執行的命令
2、語法格式
w [引數選項] [用戶]
3、引數選項
引數 | 引數說明 |
---|---|
-h | 不顯示前兩行標題資訊 |
-u | 忽略執行程式的名稱以及CPU時間資訊 |
-s | 使用短輸出格式 |
4、實踐操作
① 顯示已登錄用戶資訊
[testuser@xiezhr ~]$ w
21:21:42 up 609 days, 7 min, 4 users, load average: 2.66, 2.99, 3.17
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 39.130.60.62 20:33 48:22 0.02s 0.02s -bash
root pts/1 39.130.60.62 20:55 13:10 0.07s 0.02s -bash
root pts/2 39.130.60.62 21:04 16:54 0.02s 0.02s -bash
root pts/3 39.130.60.62 21:21 6.00s 0.04s 0.00s w
w命令執行結果說明
- 第一行依次顯示當前的系統時間、系統從啟動到現在已經運行的時間、登錄到系統中的用戶數和系統平均負載
列名 | 含義 |
---|---|
USER | 登錄系統的用戶 |
TTY | 用戶使用的TTY名稱 |
FROM | 用戶從哪里登錄進來,一般顯示遠程登錄主機的IP地址或主機名 |
LOGIN@ | 用戶登錄的日期和時間 |
IDLE | 顯示終端空閑的時間 |
JCPU | 表示該終端上的所有行程及子行程使用系統的總時間 |
PCPU | 當前活動行程使用的系統時間 |
WHAT | 當前用戶執行的行程名稱和選項 |
② -h 引數
[root@xiezhr ~]# w -h
root pts/0 39.130.60.62 20:33 1:04m 0.02s 0.02s -bash
root pts/1 39.130.60.62 20:55 28:55 0.07s 0.02s -bash
root pts/2 39.130.60.62 21:04 32:39 0.02s 0.02s -bash
root pts/3 39.130.60.62 21:21 15:51 0.04s 0.02s -bash
root pts/4 39.130.60.62 21:37 3.00s 0.02s 0.00s w -h
顯示已登錄用戶資訊
1、簡介
who 命令用于顯示已經登錄系統的用戶,以及系統的啟動時間等資訊
2、語法格式
who [引數選項]
3、引數選項
引數 | 引數說明 |
---|---|
-a | 顯示所有資訊 |
-b | 顯示系統啟動時間 |
-d | 顯示已結束的行程 |
-H | 顯示標題,默認是不顯示的 |
-l | 顯示登錄行程 |
4、實踐操作
① 不帶引數顯示所有資訊
[root@xiezhr ~]# who
root pts/0 2022-09-11 20:33 (39.130.60.62)
root pts/1 2022-09-11 20:55 (39.130.60.62)
root pts/2 2022-09-11 21:04 (39.130.60.62)
root pts/3 2022-09-11 21:21 (39.130.60.62)
root pts/4 2022-09-11 21:37 (39.130.60.62)
root pts/5 2022-09-11 22:19 (39.130.60.62)
② 顯示系統啟動時間
[root@xiezhr ~]# who -b
system boot 2021-01-10 21:14
③ 顯示已結束的行程
[root@xiezhr ~]# who -d
④ 顯示標題
[root@xiezhr ~]# who -H
NAME LINE TIME COMMENT
root pts/0 2022-09-11 20:33 (39.130.60.62)
root pts/1 2022-09-11 20:55 (39.130.60.62)
root pts/2 2022-09-11 21:04 (39.130.60.62)
root pts/3 2022-09-11 21:21 (39.130.60.62)
root pts/4 2022-09-11 21:37 (39.130.60.62)
root pts/5 2022-09-11 22:19 (39.130.60.62)
⑤ 顯示帶標題的所有資訊
[root@xiezhr ~]# who -H -a
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2021-01-10 21:14
run-level 3 2021-01-10 21:14
LOGIN ttyS0 2021-01-10 21:14 1009 id=tyS0
LOGIN tty1 2021-01-10 21:14 1008 id=tty1
root + pts/0 2022-09-11 20:33 01:50 23396 (39.130.60.62)
root + pts/1 2022-09-11 20:55 01:15 27638 (39.130.60.62)
root + pts/2 2022-09-11 21:04 01:19 29660 (39.130.60.62)
root + pts/3 2022-09-11 21:21 01:02 405 (39.130.60.62)
root + pts/4 2022-09-11 21:37 00:46 3587 (39.130.60.62)
root + pts/5 2022-09-11 22:19 . 11675 (39.130.60.62)
以上顯示的各項含義
名稱 [狀態] 線路 時間 [活動] [行程標識] (主機名)
列名 | 說明 |
---|---|
NAME | 名稱: 用戶登錄名 |
狀態:表示線路對用戶是否都是可寫的 | |
LINE | 線路: pts/0 pts/1等等 |
TIME | 時間:用戶登錄系統的時間 |
IDLE | 活動:某用戶最后一次活動到現在的時間;. 表示一分鐘內線路活動 |
PID | 行程表示:用戶行程id |
COMMENT | 主機名 |
users 顯示已登錄用戶
1、簡介
users 命令用于顯示已經登錄的用戶,一個用戶登錄多次則會顯示多次
2、實踐操作
[root@xiezhr ~]# users
root root root root root root
whoami 顯示當前登錄的用戶
1、簡介
whoami 命令用于顯示當前登錄的用戶,是英文who am i 的簡寫
2、實踐操作
[root@xiezhr ~]# whoami
root
[root@xiezhr ~]# su - testuser
Last login: Sun Sep 11 21:21:40 CST 2022 on pts/3
[testuser@xiezhr ~]$ whoami
testuser
last 顯示用戶登錄串列
1、簡介
last命令用于顯示最近登錄的用戶串列
2、語法格式
last [引數選項]
3、引數選項
引數 | 引數說明 |
---|---|
- num | 指定顯示結果的行數 |
4、實踐操作
① 不加引數顯示
[root@xiezhr ~]# last
root pts/6 39.130.60.62 Sun Sep 11 22:42 still logged in
root pts/0 39.130.60.62 Sun Sep 11 22:37 still logged in
root pts/1 39.130.60.29 Sun Nov 29 09:09 - down (01:02)
root pts/0 39.130.60.29 Sun Nov 29 08:49 - down (01:23)
root pts/0 112.112.17.172 Fri Nov 6 12:50 - 15:45 (02:55)
wtmp begins Fri Nov 6 12:50:41 2020
② -num 引數,顯示指定顯示行數
[root@xiezhr ~]# last -5
root pts/6 39.130.60.62 Sun Sep 11 22:42 still logged in
root pts/0 39.130.60.62 Sun Sep 11 22:37 still logged in
root pts/5 39.130.60.62 Sun Sep 11 22:19 still logged in
root pts/4 39.130.60.62 Sun Sep 11 21:37 still logged in
root pts/3 39.130.60.62 Sun Sep 11 21:21 still logged in
wtmp begins Fri Nov 6 12:50:41 2020
lastb 顯示用戶登錄失敗的記錄
1、簡介
lastb命令用于顯示用戶登錄失敗的記錄
2、語法格式
lastb [引數選項]
3、引數說明
引數 | 引數說明 |
---|---|
-num | 指定顯示結果的行數 |
4、實踐操作 |
[root@xiezhr ~]# lastb -5
ssh:notty 159.75.56.103 Sun Sep 11 21:18 - 21:18 (00:00)
ltecl4r0 ssh:notty 45.141.84.126 Sun Sep 11 20:33 - 20:33 (00:00)
ltecl4r0 ssh:notty 45.141.84.126 Sun Sep 11 20:33 - 20:33 (00:00)
1admin0 ssh:notty 45.141.84.126 Sun Sep 11 20:32 - 20:32 (00:00)
1admin0 ssh:notty 45.141.84.126 Sun Sep 11 20:32 - 20:32 (00:00)
btmp begins Thu Sep 1 03:31:03 2022
lastlog 顯示所有用戶最近登錄記錄
1、簡介
lastlog 命令用于顯示用戶最近登錄的記錄,便于查看系統是否例外
2、實踐操作
[root@xiezhr ~]# lastlog
Username Port From Latest
root pts/6 Sun Sep 11 22:45:57 +0800 2022
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
test **Never logged in**
testxiezhr pts/0 Thu Sep 8 21:53:58 +0800 2022
testuser pts/6 Sun Sep 11 22:42:24 +0800 2022
注意:
當有從不登錄的用戶突然登錄系統了,就要考慮是不是有用戶入侵系統了
這期內容就到這,下期根據思維導圖就到Linux磁盤與檔案系統相關命令的使用了,
涉及到的命令有: fdisk、df、mount、dd、unmount、sync、等等
敬請期待哦(●’?’●)
專欄目錄:快速上手Linux核心命令專欄目錄
上一篇:快速上手Linux核心命令(十一):Linux安裝軟體
下一篇:快速上手Linux核心命令(十二):磁盤與檔案系統相關命令(博主正在玩命更新中)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/551868.html
標籤:Linux
上一篇:Linux 記憶體管理 pt.2
下一篇:返回列表