本記事では、Linuxサーバのユーザ削除時に利用するLinuxコマンドであるuserdelについて紹介します。
それでは、具体的な使用方法について見ていきましょう。
コマンド文法
ユーザ削除で利用するuserdelコマンドの文法は以下の通りです。
削除したいユーザ名を指定することでユーザ削除が実行できます。
削除対象のユーザ名で現在ログインしている場合や、実行されているプロセスが存在する場合は削除ができません。そのため、対象ユーザのプロセスは事前にkillする必要があります。
groupdel [オプション] [削除したいユーザ名]
オプション一覧は以下の通りです。(対象コマンドのmanコマンドの情報を参考)
オプション名 | 説明 |
---|---|
-r | ユーザの削除と同時に、ホームディレクトリやメールスプール(※)も削除したい際に利用する。 |
使用例
具体的なコマンド実行結果を見ていきます。
利用する実行環境の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:ホームディレクトリとメールスプールも削除したい際に利用
- ユーザ削除の際は、事前に削除対象ユーザがログインしていない状態、削除対象ユーザのプロセスが存在していない状態にする必要があります。
以上になります。ありがとうございました。
コメント