(Linux用戶相關命令) 前言 上一篇中已經預告,我們這篇主要說一說Linux中用戶相關的命令。 可能各位小伙伴用的Windows會比較多一點,在Windows操作系統中,我們知道有Administrator用戶,Administrator 是Windows系統中的管理員用戶,有著最高的許可權。 用 ...
目錄
- 前言
- 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核心命令(十二):磁碟與文件系統相關命令(博主正在玩命更新中)