Linux でユーザーを完全に削除する 2 つの方法

Linux でユーザーを完全に削除する 2 つの方法

Linux 操作

実験環境: Centos7 仮想マシン

まず、共通ユーザーgubeiqingを作成します。

[root@localhost ~]# useradd gubeiqing
[root@localhost ~]# パスワードgubeiqing
ユーザーgubeiqingのパスワードを変更します。
新しいパスワード:
パスワードが正しくありません: パスワードが回文です
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正常に更新されました。

これにより、通常のユーザーが正常に作成され、その後、そのユーザーが削除されます。

[root@localhost ~]# ユーザー削除 gubeiqing
[root@localhost ~]#

useradd コマンドを使用して削除しますが、問題が発生します。gubeiqing ユーザーを再度作成すると、次のようになります。

[root@localhost ~]# useradd gubeiqing
useradd: 警告: ホームディレクトリがすでに存在します。
skel ディレクトリからファイルをコピーしません。
メールボックスファイルを作成しています: ファイルが存在します

ファイルは既に存在するため、作成できません。なぜですか?ユーザーが作成されると、デフォルトでユーザーのホームディレクトリ、パスワードファイル、ユーザーグループ (ユーザーグループが指定されていない場合)、およびメールボックスファイルが生成されるためです。userdel コマンドを使用してユーザーを削除すると、ユーザーのみが削除されますが、ユーザーのファイルはそのまま残るため、これらのファイルを完全に削除する必要があります。調べてみると、対処が必要な領域が 4 つほど見つかりました。

/家
/etc/passwd
/etc/グループ
/var/スプール/メール

これらのファイルを一つずつ削除しましょう。

1. /homeディレクトリ内のファイルを削除する

[root@localhost ~]# cd /home
[root@localhost ホーム]# ls
古北清
[root@localhost ホーム]# rm -rf gubeiqing
[root@localhost ホーム]# ls
[root@localhost ホーム]#

2. /etc/passwd下のユーザーを削除する

このファイルを見てみましょう。

[root@localhost ~]# cat /etc/passwd
ルート:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/ログインなし
デーモン:x:2:2:デーモン:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
同期:x:5:0:sync:/sbin:/bin/sync
シャットダウン:x:6:0:シャットダウン:/sbin:/sbin/シャットダウン
停止:x:7:0:停止:/sbin:/sbin/停止
メール:x:8:12:mail:/var/spool/mail:/sbin/nologin
オペレータ:x:11:0:オペレータ:/root:/sbin/nologin
ゲーム:x:12:100:ゲーム:/usr/ゲーム:/sbin/nologin
ftp:x:14:50:FTPユーザー:/var/ftp:/sbin/nologin
誰も:x:99:99:誰も:/:/sbin/nologin
systemd-network:x:192:192:systemd ネットワーク管理:/:/sbin/nologin
dbus:x:81:81:システムメッセージバス:/:/sbin/nologin
polkitd:x:999:997:polkitd:/:/sbin/nologin のユーザー
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:特権分離SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
dockerroot:x:997:994:Docker ユーザー:/var/lib/docker:/sbin/nologin
gubeiqing:x:1000:1000::/home/gubeiqing:/bin/bash

ここで、このシステム内のすべてのユーザーを確認できます。最後の行は、先ほど作成したユーザーであることがわかります。そのため、vi エディターを使用して、最後の行のユーザーを削除します。

3. /etc/groupの下のユーザーグループファイルを削除します。

まずこのファイルを確認してみましょう:

[root@localhost ~]# cat /etc/group
ルート:x:0:
ビン:x:1:
デーモン:x:2:
sys:x:3:
アドム:x:4:
端末:x:5:
ディスク:x:6:
lp:x:7:
メモリ:x:8:
kmem:x:9:
ホイール:x:10:
cdrom:x:11:
メール:x:12:postfix
男:x:15:
ダイヤルアウト:x:18:
フロッピー:x:19:
ゲーム:x:20:
テープ:x:30:
ビデオ:x:39:
ftp:x:50:
ロック:x:54:
オーディオ:x:63:
誰も:x:99:
ユーザー:x:100:
utmp:x:22:
誘惑者:x:35:
ssh_keys:x:999:
入力:x:998:
システムジャーナル:x:190:
システムネットワーク:x:192:
dbus:x:81:
ポルキット:x:997:
ポストドロップ:x:90:
ポストフィックス:x:89:
sshd:x:74:
クロニ:x:996:
cgrd:x:995: いいえ
dockerroot:x:994:
古北青:x:1000:

次に、vi エディターを使用してこのユーザー グループを削除します。

4. /var/spool/mailの下のメールボックスファイルを削除します。

[root@localhost ~]# cd /var/spool/mail
[root@localhost メール]# ls
古北清
[root@localhost メール]# rm -rf gubeiqing
[root@localhost メール]# ls
[root@localhost メール]#

削除が完了したら、gubeiqing ユーザーを作成します。

[root@localhost メール]# useradd gubeiqing
[root@localhost mail]# パスワードgubeiqing
ユーザーgubeiqingのパスワードを変更します。
新しいパスワード:
パスワードが正しくありません: パスワードが回文です
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正常に更新されました。

終わり!

この方法の他に、完全に削除する方法もあります。

[root@localhost メール]# userdel -rf gubeiqing
[root@localhost メール]# useradd gubeiqing
[root@localhost mail]# パスワードgubeiqing
ユーザーgubeiqingのパスワードを変更します。
新しいパスワード:
パスワードが正しくありません: パスワードが回文です
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正常に更新されました。

これら 2 つの方法を使用すると、ユーザーを完全に削除できます。

要約する

上記は、Linux でユーザーを完全に削除するために紹介した 2 つの方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux ドライバの Kconfig ファイルと Makefile ファイルの例
  • Linux での chkconfig コマンドの詳細な説明
  • Linux コマンド chkconfig コマンドの使用方法の詳細な説明
  • 初心者向けの一般的な Linux システムコマンドの完全なリスト
  • Linux コマンドを素早く習得する 4 つの方法
  • 収集する価値のある Linux ドキュメント編集コマンド 27 個
  • Linuxでスクリーンショットを撮って編集するための最高のツール
  • userdel コマンドを使用して Linux ユーザーを削除する方法の詳細なチュートリアル
  • Linux カーネルの探究: Kconfig の秘密

<<:  自作メニューをクリックする効果を実現するJavaScript

>>:  正規表現に基づくあいまい文字列置換を実装するMySQLの方法の分析

推薦する

88 秒で 1,000 万件のレコードを MySQL データベース テーブルに挿入する方法

私が使用しているデータベースはMySQLデータベースバージョン5.7ですまずデータベーステーブルを自...

MySQL で中国語の文字をピンインでソートする簡単な例

名前を格納するフィールドが GBK 文字セットを使用している場合、GBK 内部コード自体がエンコード...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...

vue+el-upload は複数ファイルの動的アップロードを実現します

vue+el-upload 複数ファイルの動的アップロード、参考までに具体的な内容は以下のとおりです...

航空機戦争ゲームを実装するためのネイティブJS

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...

Vue 開発ツリー構造コンポーネント (コンポーネント再帰)

この記事では、Vue開発ツリー構造コンポーネントの具体的なコードを例として紹介します。具体的な内容は...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...

CentOS 環境で NFS リモート ディレクトリ マウントを使用する手順の紹介

目次1. NFS の概要2. NFS構築1. NFSサーバーの構築2. NFSクライアントの構築3....

HTML スライドフローティングボールメニュー効果の実装

CSS スタイル html,本文{ 幅: 100%; 高さ: 100%; マージン: 0;パディング...

JavaScriptの詳細な説明 thisキーワード

目次1. はじめに2.これを理解する3. これは誰ですか? 4.矢印関数はさらに読む要約する1. は...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...

DockerでJavaプログラムを起動する方法

シンプルなSpring Boot Webプロジェクトを作成するアイデア ツールを使用して、Sprin...

MySQL InnoDB 監視 (システム層、データベース層)

MySQL InnoDB 監視 (システム層、データベース層) MySQL の監視に関しては、My...

Amoeba を使用して MySQL データベースの読み取り/書き込み分離を実装する方法の詳細な説明

MySQL には読み取りと書き込みを分離するアーキテクチャが多数あります。Baidu のそれらのほと...

使用したコマンドを表示するLinuxコマンドメソッドの概要

システムでは多くのコマンドが使用されていますが、使用したコマンドをどのように確認すればよいでしょうか...