Linuxでユーザーを削除する時のコマンドを教えます。
Linuxでユーザーを削除する時に、ホームディレクトリが残って完全に削除できない事はないでしょうか?
そういった悩みを解決する為に、現役エンジニアの筆者がLinux削除コマンドについて教えます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!
この記事を読む事で、Linuxでユーザー削除する時にホームディレクトリも含めて完全に削除できるようになります。
Linuxサーバーでユーザーを削除するコマンド
Linuxサーバーでユーザーを削除するコマンドの基礎を以下に示します。
userdel オプション ユーザー名
Linuxサーバーでユーザーを作成して追記されるファイルは以下の4つです。
- 「/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 ユーザー名