投稿履歴
- 【A5M2】テーブルにNULL値を入力する方法
- 【Linux】標準出力と標準エラー出力の違い
- DRAMとSRAMの違い・覚え方を徹底解説!
- 【サクラエディタ】スペースとタブを置換する方法
- 【Excel】VBAの起動方法(開発タブが表示されない場合)
- 今日から使える!Gitコミットメッセージの書き方と型
- 【Excel】区切り指定でCSVを貼り付ける方法
- 【Linux】テキストファイルの重複行を削除する方法
- 【サクラエディタ】重複行を削除する方法
- Excelのプルダウンリストをショートカットで操作・管理する
- 【サクラエディタ】タブ表示の設定と使いこなしガイド
- 【サクラエディタ】矩形選択(ボックス選択)を完全ガイド
- 【サクラエディタ】Grep機能の使い方を初心者にもわかりやすく解説!
- TCPとUDPの違いと覚え方:信頼性 vs スピードを徹底解説
- Pythonの仮想環境を終了(deactivate)する方法
- 【Linux】zipファイルの圧縮方法(zipコマンド)
- LinuxでZIPファイルを解凍する方法【unzipコマンド】
- 暗号化アルゴリズムの種類:代表的なアルゴリズムを紹介!
- 【Oracle】SELECT結果を同一テーブルへINSERTする
- 【Oracle】ROWNUMとROW_NUMBERの違いと使い分け
Linuxユーザにお勧めの本
Linuxでユーザ削除をする際はroot権限でuserdelコマンドを実行します。
構文
構文は以下の通りです。
sudo userdel -r [削除したいユーザ名]オプション
指定するオプションの意味は以下の通りです。
| オプション | 意味 |
|---|---|
| -r | ホーム・ディレクトリとメールスプールを削除する |
ホームディレクトリ・メールスプールを残してアカウントのみ削除する場合は、-rオプションの指定は不要です。
オプションを調べる
他オプションを調べる際は、userdelに-helpを指定してください。
userdel -helpユーザ削除
実行コマンド(ユーザ削除)
ホームディレクトリ含めてtest-userを削除する場合は、以下のように指定します。
sudo userdel -r test-userメールスプールがなければ、以下のようなログが表示されますが、問題ありません。
$ sudo userdel -r test-useruserdel: test-user mail spool (/var/mail/test-user) not found削除前後の確認
削除前(userdel実行前)
userdel実行前に以下の通り、test-userユーザが存在することを確認しました。
# passwdファイル確認$ cat /etc/passwd | grep test-usertest-user:x:1001:1001:,,,:/home/test-user:/bin/bash
# ホームディレクトリ確認$ ls -ld /home/test-userdrwxr-x--- 2 test-user test-user 4096 Aug 30 21:08 /home/test-user
# ログイン確認$ sudo su - test-user$ whoamitest-user削除後(userdel実行後)
userdel実行後に以下の通り、test-userユーザが削除されたことを確認しました。
# passwdファイル確認(結果なし)$ cat /etc/passwd | grep test-user$
# ホームディレクトリ確認(ディレクトリなし)$ ls -ld /home/test-userls: cannot access '/home/test-user': No such file or directory
# ログイン確認(不可)$ sudo su - test-usersu: user test-user does not exist or the user entry does not contain all the required fields「user test-user is currently used by process XXXX」となった場合
削除対象ユーザのプロセスが使われていると削除できません。
TeraTerm等で該当ユーザを操作している場合はログアウトしてから再度コマンドを試してください。
$ sudo userdel -r test-useruserdel: user test-user is currently used by process 9598以下のように該当プロセスを確認し、問題なければkillしてから再実行する方法もあります。
$ ps -f 9598UID PID PPID C STIME TTY STAT TIME CMDtest-us+ 9598 1 0 21:26 ? Ss 0:00 /lib/systemd/systemd --user$ sudo kill 9598$$ ps -f 9598UID PID PPID C STIME TTY STAT TIME CMD$deluserコマンドとの違い
deluserコマンドは、userdelの機能をラップするスクリプトであり、追加のオプションや機能が利用できます。
ユーザーが所有するファイルの削除やバックアップなど、設定ファイルを使って挙動をカスタマイズできます。
| 項目 | userdel | deluser |
|---|---|---|
| ホームディレクトリとメールスプールの削除 | 〇 | 〇 |
| ユーザが所有するすべてのファイルを削除 | × | 〇 |
| 削除データのバックアップ | × | 〇 |
一般的には、Debian/Ubuntu系のシステムではdeluserを使用し、他のディストリビューションではuserdelが使われることが多いです。
deluserコマンドの使い方は、こちらのリンクを参照してください。
まとめ
- userdelコマンドでアカウント情報のみ削除する場合は、
オプションを指定しない。 - userdelコマンドでホームディレクトリ・メールスプールのデータも削除する場合は、
-rオプションを指定する。
Linuxでユーザを追加する場合は、こちらのリンクを参照してください。
Linuxユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!