Linux下完全刪除用戶

来源:https://www.cnblogs.com/Timesi/archive/2018/09/12/9634181.html
-Advertisement-
Play Games

實驗環境:Centos7虛擬機 首先創建一個普通用戶 。 [root@localhost ~] useradd gubeiqing [root@localhost ~] passwd gubeiqing Changing password for user gubeiqing. New passwo ...


實驗環境:Centos7虛擬機
首先創建一個普通用戶gubeiqing

[root@localhost ~]# useradd gubeiqing
[root@localhost ~]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

這樣就成功創建了一個普通用戶,然後來刪除這個用戶。

[root@localhost ~]# userdel gubeiqing
[root@localhost ~]#

使用useradd命令就刪除了,但是,,,問題來了,當我們再次創建gubeiqing這個用戶時:

[root@localhost ~]# useradd gubeiqing
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists

文件已存在,無法創建,這是為什麼?因為在創建用戶時會預設生成用戶的家目錄密碼文件用戶組(不指定用戶組的情況下),以及郵箱文件,而使用userdel命令刪除時僅僅是刪除了這個用戶,而這個用戶的文件還在,那麼就需要完全刪除這些文件。我看了一下大概有四個地方需要處理。

  • /home目錄下的文件
  • /etc/passwd下的用戶
  • /etc/group下的用戶組
  • /var/spool/mail下的郵箱文件

下麵依次來刪除這些文件。
1.刪除/home目錄下的文件

[root@localhost ~]# cd /home
[root@localhost home]# ls
gubeiqing
[root@localhost home]# rm -rf gubeiqing
[root@localhost home]# ls
[root@localhost home]#

2.刪除/etc/passwd下的用戶
我們可以查看一下這個文件。

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
dockerroot:x:997:994:Docker User:/var/lib/docker:/sbin/nologin
gubeiqing:x:1000:1000::/home/gubeiqing:/bin/bash

在這裡可以看到這個系統中的所有用戶,可以看到最後一行就是剛剛創建的用戶,那麼使用vi編輯器刪除最後一行的用戶。
3.刪除/etc/group下的用戶組文件
先查看一下這個文件:

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:30:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
ssh_keys:x:999:
input:x:998:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:997:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
chrony:x:996:
cgred:x:995:
dockerroot:x:994:
gubeiqing:x:1000:

然後使用vi編輯器刪除這個用戶組。
4.刪除/var/spool/mail下的郵箱文件

[root@localhost ~]# cd /var/spool/mail
[root@localhost mail]# ls
gubeiqing
[root@localhost mail]# rm -rf gubeiqing
[root@localhost mail]# ls
[root@localhost mail]#

刪除完成,再來創建gubeiqing用戶。

[root@localhost mail]# useradd gubeiqing
[root@localhost mail]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

搞定!

除了這種方法還有一種完全刪除的方法。

[root@localhost mail]# userdel -rf gubeiqing
[root@localhost mail]# useradd gubeiqing
[root@localhost mail]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

使用這兩種方法就可以完全刪除用戶。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 運行級別(Runlevel)指的是Unix或者Linux等類Unix操作系統下不同的運行模式。運行級別通常分為7等,分別是從0到6,但如果必要的話也可以更多。 例如在大多數Linux操作系統下一共有如下7個典型的運行級別: 0 停機,關機 1 單用戶,無網路連接,不運行守護進程,不允許非超級用戶登錄 ...
  • Docker安裝 1 "官方網站" 訪問速度很慢, "幫助文檔" 2 國內 "中文網站" , "幫助文檔" 在生產系統中,您應該安裝特定版本的 Docker CE,而不是始終使用最新版本。列出可用版本。此示例使用 sort r 命令按版本號(從最高到最低)對結果進行排序,並且已被截斷。 註:此 yu ...
  • 電子郵件系統 電子郵件系統是我們在日常工作、生活中最常用的一種網路服務。 部署基礎的電子郵件系統 配置Postfix服務程式 Postfix是一款由IBM資助研發的免費開源電子郵件服務程式,能夠很好地相容Sendmail服務程式,可以方便Sendmail用戶遷移到Postfix服務上. 參數 | 作 ...
  • 最近也是伺服器各種被入侵,所以在安全上,要萬分註意,特此記錄,藉助google的身份驗證插件,獲取動態驗證碼完成ssh登陸。 OS: centos7 安裝配置: 1、 安裝epel源 2、 安裝Qrencode,谷歌身份驗證器通過該程式生成二維碼 3、安裝谷歌身份驗證器,編譯安裝 4、拷貝googl ...
  • 使用Samba文件共用服務 Samba起源: 早期網路想要在不同主機之間共用文件大多要用FTP協議來傳輸,但FTP協議僅能做到傳輸文件卻不能直接修改對方主機的資料數據,這樣確實不太方便,於是便出現了NFS開源文件共用程式:NFS(NetworkFile System)是一個能夠將多台Linux的遠程 ...
  • 系統 環境 vue nginx 步驟 1、打包vue項目 2、配置nginx 打包vue項目 1、項目配置 我們使用伺服器的8000埠 2、打包 # npm run build 打包成功會創建dist目錄 3、上傳到伺服器 配置nginx 1、進入nginx 2、複製預設的配置文件default. ...
  • 一. 掛載存儲媒體 linux文件系統將所有的磁碟都併入一個虛擬目錄下,當使用新的存儲媒體之前,需要把它放到虛擬目錄下,這項工作稱為掛載(mounting) 1.1 mount 命令 在linux上用來掛載媒體的命令叫做mount. 預設情況下,mount命令會輸出當前系統上的掛載的設備列表。 1. ...
  • 系統 [root@Gao conf.d]# uname -a 工具 1、Final Shell 2、工具截圖 需要下載的部分 node.js npm cnpm vue-cli 安裝node.js 1、下載對應的版本 2、上傳到伺服器 3、解壓 # tar -xvf 4、重命名 # mv 5、進入bi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...