Linuxコマンドの使用方法(userdel)

本記事では、Linuxサーバのユーザ削除時に利用するLinuxコマンドであるuserdelについて紹介します。

結論
  • ユーザ削除はuserdelコマンドを利用する。
  • コマンドの書式:userdel [オプション] [削除したいユーザ名]
    • -r:ホームディレクトリとメールスプールも削除したい際に利用

それでは、具体的な使用方法について見ていきましょう。

コマンド文法

ユーザ削除で利用するuserdelコマンドの文法は以下の通りです。
削除したいユーザ名を指定することでユーザ削除が実行できます。

削除対象のユーザ名で現在ログインしている場合や、実行されているプロセスが存在する場合は削除ができません。そのため、対象ユーザのプロセスは事前にkillする必要があります。

groupdel [オプション] [削除したいユーザ名]

オプション一覧は以下の通りです。(対象コマンドのmanコマンドの情報を参考)

オプション名説明
-r ユーザの削除と同時に、ホームディレクトリやメールスプール(※)も削除したい際に利用する。
※受信されたメールが一時的に保管される場所。場所は/var/mail/(ユーザ名)(参考資料:https://qiita.com/gama1234/items/102789e8117190e1d95c

使用例

具体的なコマンド実行結果を見ていきます。
利用する実行環境のOSは「CentOS Stream release 9」です。

検証内容としては、事前に作成しているユーザ名:test01を削除するコマンドを実行します。
事前準備として、ユーザ名:test01を以下の通り設定しています。

[root@test01 ~]# cat /etc/passwd | grep test01
test01:x:1001:1001::/home/test01:/bin/bash
[root@test01 ~]#

ユーザのホームディレクトリとメールスプールは以下の通りです。

[root@test01 ~]# ls -ld /home/test01/
drwx------ 3 test01 test01 78  8月 11 19:47 /home/test01/
[root@test01 ~]#
[root@test01 ~]# ls -l /var/mail/test01
-rw-rw---- 1 test01 mail 0  8月 11 19:47 /var/mail/test01
[root@test01 ~]#

(オプションなし)の場合

実行コマンド

実行コマンドは以下の通りです。

userdel test01

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# userdel test01
[root@test01 ~]#

設定確認結果

ユーザが削除されているかを確認します。ユーザの設定ファイルである/etc/passwdにtest01のユーザが存在していないことを確認します。実行結果からtest01が削除されています。ホームディレクトリやメールスプールは削除されていません。

[root@test01 ~]# cat /etc/passwd | grep test01
[root@test01 ~]#
[root@test01 ~]# ls -ld /home/test01/
drwx------ 3 1001 1001 78  8月 11 19:47 /home/test01/
[root@test01 ~]# ls -l /var/mail/test01
-rw-rw---- 1 1001 mail 0  8月 11 19:47 /var/mail/test01
[root@test01 ~]#

(rオプション:ホームディレクトリとメールスプールも同時に削除)の場合

実行コマンド

実行コマンドは以下の通りです。

userdel -r test01

実行結果

実際にLinuxサーバで実行した結果は以下の通りです。成功した場合は特に標準出力としては何も表示されず、コマンドが終了します。(エラーの場合はエラーメッセージが出力されます。)

[root@test01 ~]# userdel -r test01
[root@test01 ~]#

設定確認結果

ユーザが削除されているかを確認します。ユーザの設定ファイルである/etc/passwdにtest01のユーザが存在していないことを確認します。実行結果からtest01が削除されています。また、ホームディレクトリやメールスプールも合わせて削除されています。

[root@test01 ~]# cat /etc/passwd | grep test01
[root@test01 ~]#
[root@test01 ~]# ls -ld /home/test01
ls: '/home/test01' にアクセスできません: そのようなファイルやディレクトリはありません
[root@test01 ~]#
[root@test01 ~]# ls -l /var/mail/test01
ls: '/var/mail/test01' にアクセスできません: そのようなファイルやディレクトリはありません
[root@test01 ~]#

まとめ

今回はユーザ削除で利用するLinuxコマンドuserdelについて紹介しました。
以下は設定方法のまとめになります。

  • ユーザ削除はuserdelコマンドを利用する。
  • コマンドの書式:userdel [オプション] [削除したいユーザ名]
    • -r:ホームディレクトリとメールスプールも削除したい際に利用
  • ユーザ削除の際は、事前に削除対象ユーザがログインしていない状態、削除対象ユーザのプロセスが存在していない状態にする必要があります。

以上になります。ありがとうございました。

コメント

タイトルとURLをコピーしました