リナックスでシステム管理者として、ユーザーアカウントが長期間不使用になったり、ユーザーが組織や企業を離れたりするなどの理由で、時々ユーザーアカウントを削除する必要があるかもしれません。
リナックスシステムでユーザーアカウントを削除する際には、新しいシステムユーザーや他のサービスのためにストレージ上のスペースを解放するために、ユーザーのホームディレクトリも削除することが重要です。
このチュートリアルでは、リナックスシステムでユーザーアカウントとそのホームディレクトリを削除するために使用できる手順をご紹介します。
リナックスシステムでユーザーアカウントを作成して管理する方法を学びたい場合は、以下のリンクからの記事を読んでください。
ホームディレクトリ付きのユーザーアカウントを削除/削除する方法
デモの目的のために、まずはtecmintとlinuxsayの2つのユーザーアカウントをシステム上に作成し、それぞれのホームディレクトリを/home/tecmintと/home/linusayに設定し、adduserコマンドを使用しています。
adduser tecmint passwd tecmint adduser linuxsay passwd linuxsay

上記のスクリーンショットから、Linux上のユーザーアカウントを作成するためにadduserコマンドを使用しています。useraddコマンドも使用できますが、これらのコマンドの主な違いはその意図された使用法とユーザーインターフェイスにあります。
“adduser”コマンドは、システムにユーザーを追加するための高水準のインターフェイスであり、必要なセットアップを行い、ユーザーのホームディレクトリをデフォルトの設定で作成します。
一方、“useradd”は、システムにユーザーを追加し、ユーザー情報を更新するための低水準のユーティリティであり、ユーザーのホームディレクトリをデフォルトで作成しません。管理者は手動で追加オプションを指定する必要があります。
次に、deluser(Debianおよびその派生系の場合)とuserdel(RedHatベースのシステムの場合)コマンドを使用して、Linuxでユーザーアカウントを削除または削除する方法を見てみましょう。
sudo deluser --remove-home username sudo userdel -r username
上記のコマンドは、ユーザーのアカウントと共にユーザーのホームディレクトリを削除します。
ユーザー削除コマンドdeluserとuserdelの設定ファイル内のディレクティブは、コマンドを実行する際にユーザーのファイルやディレクトリをどのように処理するかを決定します。
Debian派生のUbuntu、Kali、Mintではdeluserコマンドの設定ファイルは/etc/deluser.conf
であり、RHEL/CentOS/Fedoraユーザーは/etc/login.defs
ファイルを確認できます。
これらの設定の値はデフォルトであり、必要に応じて変更できます。
vi /etc/deluser.conf [On Debian and its derivatives] vi /etc/login.defs [On RedHat/CentOS based systems]

ホームディレクトリ付きでユーザーを削除するには、Linuxサーバーマシンでこれらの手順に従って高度な方法を使用できます。ユーザーがサーバーにログインすると、サービスを使用してさまざまなプロセスを実行します。ユーザーがサーバーにログインしていない場合にのみ、効果的にユーザーを削除できることに注意してください。
Linuxでユーザーアカウントをロックする方法
ユーザーアカウントをロックするには、passwdコマンドを使用し、-lまたは--lock
オプションとユーザー名を続けます。ユーザーアカウントをロックすると、ユーザーがログインできなくなりますが、アカウントとそれに関連するファイルは保持されます。
sudo passwd -l username OR sudo passwd -lock username

アカウントをアンロックするには、passwdコマンドを再度使用し、-u
オプションを指定します。
sudo passwd -u username
Linuxで実行中のユーザーのプロセスを検索して終了する方法
ユーザーが実行しているプロセスをLinuxで検索して終了するには、psコマンドを使用して特定のユーザーに関連するプロセスを検索し、killコマンドを使用してそれらを終了できます。
ユーザーのプロセスの検索
特定のユーザーのプロセスをリストアップするには、psコマンドと-u
フラグを使用します。その後、ユーザー名を後に続けます。
ps -u username
次のコマンドを使用して、ユーザー名、PID、PPID(親プロセスID)、使用される端末、プロセス状態、およびコマンドパスを完全なフォーマットでリストアップできます。
ps -f --pid $(pgrep -u tecmint)

ユーザーのプロセスの終了
ユーザーの実行中のプロセスをすべて検索した後、killallコマンドを使用してそれらの実行中のプロセスを終了できます。
killall -9 -u tecmint
-9はSIGKILL信号の信号番号で、-KILLを-9の代わりに使用することもできます。-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]
ユーザーデータを削除する前にバックアップする方法
リナックスシステムでユーザーアカウントを削除する前にユーザーデータをバックアップするには、次のコマンドを実行してください。
sudo mkdir /backup sudo cp -r /home/username /backup
オプションで、ユーザーのデータの圧縮アーカイブを作成してストレージスペースを節約することもできます。tarコマンドを使用して、ユーザーのホームディレクトリのバックアップを作成する方法は次のとおりです。
sudo tar -zcvf /backup/username_backup.tar.gz /backup/username

Linuxでのユーザーファイルの削除方法
これで、ユーザーとそのホームディレクトリを安全に削除できます。システム上のすべてのユーザーファイルを削除するには、以下のコマンドで--remove-all-files
オプションを使用してください。
deluser --remove-home tecmint [On Debian and its derivatives] userdel --remove tecmint [On RedHat/CentOS based systems]

まとめ
これで、リナックスシステムからユーザーとそのホームディレクトリを削除する方法については終わりです。このガイドは理解しやすいと思いますが、コメントを残して懸念事項や追加のアイデアを伝えることができます。
Source:
https://www.tecmint.com/delete-remove-a-user-account-with-home-directory-in-linux/