Linux のホーム ディレクトリでユーザー アカウントを削除する方法
このチュートリアルでは、Linux システム上でユーザーのアカウントとそのユーザーのホーム ディレクトリを削除する手順を説明します。
Linux システムでユーザー アカウントを作成して管理する方法については、以下のリンクから次の記事をお読みください。
- Linux でユーザー アカウントを管理する 15 の「useradd」コマンドの例
- Linuxでユーザーアカウント名を変更/修正する15の「usermod」コマンド例
- Linux でファイル権限を使用してユーザーとグループを管理する方法
Linux のシステム管理者は、ユーザー アカウントが長期間休止状態になった場合、またはユーザーが組織や会社を辞めた場合、またはその他の理由でユーザー アカウントを削除する必要がある場合があります。
Linux システムでユーザー アカウントを削除する場合は、ホーム ディレクトリを削除して、新しいシステム ユーザーまたは他のサービス用にストレージ デバイス上のスペースを解放することも重要です。
ユーザーアカウントの削除/ホームディレクトリからの削除
1. デモンストレーションの目的で、まずシステム上にユーザー tecmint とユーザー linuxsay という 2 つのユーザー アカウントを作成し、それぞれのホーム ディレクトリを作成します。 adduser コマンドを使用して、それぞれ /home/tecmint と /home/linusay を使用します。
adduser tecmint
passwd tecmint
adduser linuxsay
passwd linuxsay
上のスクリーンショットでは、adduser コマンドを使用して Linux 上にユーザー アカウントを作成しています。 useradd コマンドを使用することもできます。どちらも同じであり、同じ仕事を行います。
2. 次に、deluser (Debian およびその派生版の場合) と userdel ( RedHat/CentOS ベースのシステムの場合) コマンド。
deluser および userdel コマンドの設定ファイル内のディレクティブは、コマンドの実行時にすべてのユーザー ファイルとディレクトリをどのように処理するかを決定します。
Ubuntu、Kali、Mint などの Debian 派生製品および RHEL/CentOS/Fedora の /etc/deluser.conf
である deluser コマンドの設定ファイルを見てみましょう。ユーザーは、/etc/login.defs
ファイルを表示できます。
これらの構成の値はデフォルトであり、必要に応じて変更できます。
vi /etc/deluser.conf [On Debian and its derivatives]
vi /etc/login.defs [On RedHat/CentOS based systems]
3. ホーム ディレクトリを持つユーザーを削除するには、Linux サーバー マシンで次の手順に従って高度な方法を使用できます。ユーザーはサーバーにログオンすると、サービスを使用し、さまざまなプロセスを実行します。ユーザーはサーバーにログオンしていない場合にのみ効果的に削除できることに注意することが重要です。
Linux でユーザー アカウントをロックする
まず、ユーザー アカウントのパスワードをロックして、ユーザーがシステムにアクセスできないようにします。これにより、ユーザーはシステム上でプロセスを実行できなくなります。
–lock オプションを含む passwd コマンドは、これを実現するのに役立ちます。
# passwd --lock tecmint
Locking password for user tecmint.
passwd: Success
ユーザーの実行中のすべてのプロセスを見つけて強制終了します
次に、ユーザー アカウントの実行中のすべてのプロセスを検索し、次のコマンドを使用してユーザーが所有するプロセスのPID (プロセス ID) を特定してそれらを強制終了します。
# pgrep -u tecmint
1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214
次に、次のコマンドを使用して、ユーザー名、PID、PPID (親プロセス ID)、使用されている端末、プロセスの状態、コマンド パスに関するプロセスを完全な形式で一覧表示できます。
# ps -f --pid $(pgrep -u tecmint)
UID PID PPID C STIME TTY STAT TIME CMD
tecmint 1947 1 0 10:49 ? SLl 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
tecmint 1959 1280 0 10:49 ? Ssl 0:00 mate-session
tecmint 2091 1959 0 10:49 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint 2094 1 0 10:49 ? S 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint 2095 1 0 10:49 ? Ss 0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
tecmint 2168 1 0 10:49 ? Sl 0:00 /usr/lib/dconf/dconf-service
tecmint 2175 1959 0 10:49 ? Sl 0:02 /usr/bin/mate-settings-daemon
tecmint 2179 1959 0 10:49 ? Sl 0:47 marco
tecmint 2183 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd
tecmint 2188 1959 0 10:49 ? Sl 0:00 mate-panel
tecmint 2190 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
tecmint 2202 1 0 10:49 ? S<l 0:20 /usr/bin/pulseaudio --start --log-target=syslog
tecmint 2207 1959 0 10:49 ? S 0:00 /bin/sh /usr/bin/startcaja
tecmint 2212 1 0 10:49 ? Sl 0:03 /usr/bin/python /usr/lib/linuxmint/mintMenu/mintMenu.py
tecmint 2214 1 0 10:49 ? Sl 0:11 /usr/lib/mate-panel/wnck-applet
....
ユーザーの実行中のプロセスをすべて見つけたら、次のように killall コマンドを使用してそれらの実行中のプロセスを強制終了できます。
killall -9 -u tecmint
-9 は SIGKILL シグナルのシグナル番号です。または、-9 と の代わりに -KILL を使用します。 >-u はユーザー名を定義します。
注: RedHat/CentOS 7.x バージョンおよび Fedora 21 以降の最近のリリースでは、次のようなエラー メッセージが表示されます。
-bash: killall: command not found
このようなエラーを修正するには、次のように psmisc パッケージをインストールする必要があります。
yum install psmisc [On RedHat/CentOS 7.x]
dnf install psmisc [On Fedora 21+ versions]
削除する前にユーザーデータをバックアップする
次に、ユーザー ファイルをバックアップできます。これはオプションですが、将来ユーザー アカウントの詳細とファイルを確認する必要が生じた場合に使用することをお勧めします。
次のように、tar ユーティリティを使用してユーザーのホーム ディレクトリのバックアップを作成しました。
tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint
ユーザーアカウントとファイルの削除/削除
これで、ユーザーとそのホーム ディレクトリを安全に削除できるようになりました。システム上のすべてのユーザー ファイルを削除するには、以下のコマンドの --remove-all-files
オプションを使用します。
deluser --remove-home tecmint [On Debian and its derivatives]
userdel --remove tecmint [On RedHat/CentOS based systems]
まとめ
Linux システムからユーザーとそのホーム ディレクトリを削除する方法はこれだけです。このガイドは簡単に理解できるものだと思いますが、コメントを残して懸念を表明したり、アイデアを追加したりすることができます。