如何在 Ubuntu 上刪除(移除)用戶

如何從您的 Ubuntu Linux 系統中刪除用戶? 此類情況包括用戶離開公司或他們的帳戶長期處於休眠狀態。 在本教程中,我將向您展示如何在 Ubuntu 18.04 上刪除用戶和主目錄。

但首先,我們將在刪除用戶和主目錄之前執行一些前置任務。 這些任務將包括

1) 鎖定用戶賬戶
2)殺死與用戶相關的任何進程
3) 備份用戶的家目錄
4) 刪除任何 cron/print 作業
5) 刪除/移除用戶賬戶

1) 鎖定用戶賬戶

首先鎖定用戶的帳戶以拒絕他們進入系統。 這個的語法將是

passwd -l {username}

為了 example

passwd -l alice

輸出

Locking password for user alice.
passwd: Success

2)殺死用戶的所有正在運行的進程

成功鎖定帳戶後,您需要找到附加到用戶帳戶的所有正在運行的進程並使用它們的“殺死”它們 PID(進程 ID)
使用 ps 命令,語法是

ps -u {username}

為了 example

ps -u alice

輸出

PID TTY TIME CMD
6561 pts/0 00:00:00 bash
6586 pts/0 00:00:00 ps

使用 top 命令,語法將是

top -U {username}

例如

top -U alice

輸出

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6561 alice 20 0 21196 5000 3224 S 0.0 0.5 0:00.03 bash
6595 alice 20 0 40540 3748 3148 R 0.0 0.4 0:00.01 top

要結束或“終止”所有正在運行的進程,請使用 全殺 命令如圖

killall -9 -u {username}

在我們的例子中,我們將有

killall -9 -u alice

-9 標誌是 SIGKILL 命令。 它告訴系統在不清理的情況下終止進程。
-u 標誌定義用戶名

3) 刪除前備份用戶數據

這是一個可選步驟,但如果需要查看用戶的帳戶或文件,強烈建議這樣做。
我決定使用 tar 實用程序來執行備份。 語法是

tar cvjf backup.tar.bz /home/username

在我們的 example,語法將是

tar cvjf backup.tar.bz /home/alice

樣本輸出

tar: Removing leading `/' from member names
/home/alice/
/home/alice/.bash_history
/home/alice/.profile
/home/alice/.bashrc
/home/alice/.bash_logout

4)刪除用戶的cron作業

要刪除用戶的 cron 作業,請運行

crontab -r -u alice

擦除打印機作業運行

lprm alice

5) 刪除/移除用戶帳戶和文件

我們終於到了從系統中刪除或擦除用戶帳戶的最後階段。 上面的命令將刪除用戶帳戶和主目錄。

userdel -r alice

在這種情況下,主目錄旁邊的用戶“Alice”將被清除。 這是因為我們使用了 -r 標誌。

要僅刪除用戶並保留主目錄,只需運行

userdel alice

結論

在本教程中,我們簡要概述了從系統中逐步刪除用戶和主目錄所需執行的步驟。 我們希望您在下次遇到這種情況時注意以防萬一。

另請閱讀:

  • 如何在 Linux 中使用 Kill 命令停止進程
  • Linux 在 Linux 終端中列出組成員