サイトアイコン スグブログ

【Linux基礎】ユーザーを削除するコマンド!ホームディレクトリも完全に削除します

結婚

Linuxでユーザーを削除する時のコマンドを教えます。

Linuxでユーザーを削除する時に、ホームディレクトリが残って完全に削除できない事はないでしょうか?

そういった悩みを解決する為に、現役エンジニアの筆者がLinux削除コマンドについて教えます。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!

この記事を読む事で、Linuxでユーザー削除する時にホームディレクトリも含めて完全に削除できるようになります。

Linuxサーバーでユーザーを削除するコマンド

Linuxサーバーユーザーを削除するコマンドの基礎を以下に示します。

userdel オプション ユーザー名

オプションなしではホームディレクトリが残ってしまいます。

Linuxサーバーでユーザーを作成して追記されるファイルは以下の4つです。

Linuxでユーザー作成して記述されるファイル
  • 「/etc/passwd」ファイル
  • 「/etc/shadow」ファイル
  • 「/etc/group」ファイル
  • 「/etc/gshadow」ファイル

この4つのファイルから削除されるだけで、作成されてホームディレクトリが残ってしまいます。

実践:ユーザーを削除するコマンド

実際にユーザーを削除して試してみます。

まず「userdel」というユーザーを作成してみます。

useradd userdel

それぞれのファイルに追記されたか確認します。

[root@localhost ~]# cat /etc/passwd | grep userdel
userdel:x:1025:1025::/home/userdel:/bin/bash

[root@localhost ~]# cat /etc/shadow | grep userdel
userdel:!!:19860:0:99999:7:::

[root@localhost ~]# cat /etc/group | grep userdel
userdel:x:1025:

[root@localhost ~]# cat /etc/gshadow | grep userdel
userdel:!::

ユーザーが作成されると追記される4ファイルに、作成したユーザーが記述されています。

ホームディレクトリが作成されているかlsコマンドで確認します。

[root@localhost ~]# ls /home/ | grep userdel
userdel

作成したユーザーのホームディレクトリが作成されています。

ではこのユーザーを削除してみます。

userdel userdel

先程作成した「userdel」のユーザーを削除しました。

ではもう一度、先程の4ファイルを確認します。

[root@localhost ~]# cat /etc/passwd | grep userdel
[root@localhost ~]# cat /etc/shadow | grep userdel
[root@localhost ~]# cat /etc/group | grep userdel
[root@localhost ~]# cat /etc/gshadow | grep userdel
[root@localhost ~]#

4ファイル全てから削除されています。

ホームディレクトリを確認します。

[root@localhost ~]# ls /home/ | grep userdel
userdel

ホームディレクトリは残ってしまいます。

間違えてユーザーを削除した場合でも、ホームディレクトリのファイルは残して復旧させやすくする為です。

ユーザーを完全に削除するコマンド

ホームディレクトリも含め完全にユーザーを削除するには以下のオプションをつけます。

userdel -r ユーザー名

removeオプションでもユーザー完全削除可能です。

userdel --remove ユーザー名

ホームディレクトリも削除されるので、復旧は難しくなることをわかった上で慎重にユーザー削除しましょう!

実践:ユーザーを完全に削除するコマンド

先程のユーザーを作成したので確認します。

[root@localhost ~]# cat /etc/passwd | grep userdel
userdel:x:1025:1025::/home/userdel:/bin/bash
[root@localhost ~]# cat /etc/shadow | grep userdel
userdel:!!:19860:0:99999:7:::
[root@localhost ~]# cat /etc/group | grep userdel
userdel:x:1025:
[root@localhost ~]# cat /etc/gshadow | grep userdel
userdel:!::
[root@localhost ~]# ls /home/ | grep userdel
userdel

4つのファイルに記述されており、ホームディレクトリも作成されています。

では作成したユーザーを完全に削除してみます。

userdel -r userdel

完全削除されたか確認します。

[root@localhost ~]# cat /etc/passwd | grep userdel
[root@localhost ~]# cat /etc/shadow | grep userdel
[root@localhost ~]# cat /etc/group | grep userdel
[root@localhost ~]# cat /etc/gshadow | grep userdel
[root@localhost ~]# ls /home/ | grep userdel
[root@localhost ~]#

4つのファイルとホームディレクトリもありません。ユーザーが完全削除されました。

Linuxサーバーでユーザー管理に関するその他の記事について

ユーザー一覧を表示する方法について

ユーザー名変更する方法について

ユーザーのパスワード管理について

まとめ:Linuxのユーザー削除コマンド!ホームディレクトリも完全に削除する方法

Linuxサーバーユーザーを削除するコマンドの基礎を以下に示します。

userdel オプション ユーザー名

オプションなしではホームディレクトリが残ってしまいます。

ホームディレクトリも含め、完全にユーザーを削除するには以下のオプションをつけます。

userdel -r ユーザー名

removeオプションでもユーザー完全削除可能です。

userdel --remove ユーザー名

ホームディレクトリも削除されるので、復旧は難しくなることをわかった上で慎重にユーザー削除しましょう!

モバイルバージョンを終了