Linuxでユーザーを削除する方法(およびすべてのトレースを削除する方法)

Linuxでユーザーを削除するには、思った以上のことが必要です。システム管理者の場合は、アカウントのすべてのトレースとそのシステムからのアクセスを削除する必要があります。実行する手順を示します。

システムからユーザーアカウントを削除するだけで、実行中のプロセスやその他のクリーンアップタスクを終了する必要がない場合は、以下の「ユーザーアカウントの削除」セクションの手順に従ってください。deluserDebianベースのディストリビューションではuserdelコマンドが必要であり、他のLinuxディストリビューションではコマンドが必要です。

Linuxのユーザーアカウント

1960年代初頭に最初のタイムシェアリングシステムが登場し、複数のユーザーが1台のコンピューターで作業できるようになって以来、各ユーザーのファイルとデータを他のすべてのユーザーから分離して区分化する必要がありました。そのため、ユーザーアカウントとパスワードが生まれました。

ユーザーアカウントには管理オーバーヘッドがあります。これらは、ユーザーが最初にコンピューターにアクセスする必要があるときに作成する必要があります。そのアクセスが不要になったら、それらを削除する必要があります。Linuxでは、ユーザー、ファイル、およびアカウントをコンピューターから正しくかつ系統的に削除するために実行する必要のある一連の手順があります。

あなたがシステム管理者である場合、その責任はあなたにあります。これがその方法です。

私たちのシナリオ

アカウントを削除する必要がある理由はいくつもあります。スタッフが別のチームに移動したり、会社を完全に辞めたりする可能性があります。アカウントは、別の会社からの訪問者との短期間のコラボレーションのために設定された可能性があります。チームアップは、研究プロジェクトが学部、さまざまな大学、さらには営利団体にまで及ぶ可能性がある学界では一般的です。プロジェクトの終了時に、システム管理者はハウスキーピングを実行し、不要なアカウントを削除する必要があります。

最悪のシナリオは、誰かが軽罪のために雲の下を離れる場合です。このようなイベントは通常突然発生し、事前の警告はほとんどありません。これにより、システム管理者は計画を立てる時間がほとんどなくなり、アカウントをロック、閉鎖、削除する緊急性が得られます。閉鎖後のフォレンジックに必要な場合に備えて、ユーザーのファイルのコピーをバックアップしてください。

私たちのシナリオでは、ユーザーのエリックが、施設からの即時の退去を保証する何かをしたと仮定します。この瞬間、彼はこれに気づかず、まだ働いていて、ログインしています。あなたがセキュリティにうなずくとすぐに、彼は建物から護衛されるでしょう。

すべてが設定されています。すべての目があなたにあります。

ログインを確認してください

彼が実際にログインしているかどうか、ログインしている場合は、何回のセッションで作業しているかを見てみましょう。このwhoコマンドは、アクティブなセッションを一覧表示します。

WHO

エリックは一度ログインします。彼が実行しているプロセスを見てみましょう。

ユーザーのプロセスの確認

このpsコマンドを使用して、このユーザーが実行しているプロセスを一覧表示できます。-u(ユーザー)オプションでは、私たちが言うことができますpsそのユーザーアカウントの所有権の下で実行中のプロセスにその出力を制限します。

ps -u eric

topコマンドを使用すると、同じプロセスをより多くの情報で確認できます。top また-U、単一のユーザーが所有するプロセスに出力を制限する(ユーザー)オプションもあります。今回は大文字の「U」であることに注意してください。

トップ-Ueric

各タスクのメモリとCPU使用率を確認でき、疑わしいアクティビティのあるものをすばやく探すことができます。彼のすべてのプロセスを強制的に強制終了しようとしているので、少し時間を取ってプロセスをすばやく確認し、ユーザーアカウントericのプロセスを終了するときに他のユーザーに迷惑がかからないことを確認してください。

彼がlessファイルを表示するために使用しているだけで、多くのことをしているようには見えません 。続行しても安全です。しかし、彼のプロセスを強制終了する前に、パスワードをロックしてアカウントを凍結します。

関連:psコマンドを使用してLinuxプロセスを監視する方法

アカウントのロック

プロセスを強制終了するとユーザーがログアウトするため、プロセスを強制終了する前にアカウントをロックします。すでにパスワードを変更している場合、彼は再度ログインできません。

暗号化されたユーザーパスワードは/etc/shadowファイルに保存されます。通常、これらの次の手順を気にすることはありませんが/etc/shadow 、アカウントをロックしたときにファイルで何が起こるかを確認できるように、少し回り道をします。次のコマンドを使用して、eric ユーザーアカウントのエントリの最初の2つのフィールドを確認 できます。

sudo awk -F: '/ eric / {print $ 1、$ 2}' / etc / shadow

awkコマンドは、テキストファイルからフィールドを解析し、オプションでそれらを操作します。私たちは、使用している-F伝えるために(フィールド区切り)オプションをawkファイルには、「コロンを使用している:フィールドを区切るために」。「eric」というパターンのある行を検索します。一致する行については、最初と2番目のフィールドを印刷します。これらは、アカウント名と暗号化されたパスワードです。

ユーザーアカウントericのエントリが印刷されます。

アカウントをロックするには、passwdコマンドを使用します。-l(ロック)オプションを使用して、ロックするユーザーアカウントの名前を渡します。

sudo passwd -l eric

/etc/passwdファイルをもう一度チェックすると、何が起こったのかがわかります。

sudo awk -F: '/ eric / {print $ 1、$ 2}' / etc / shadow

暗号化されたパスワードの先頭に感嘆符が追加されました。最初の文字は上書きされず、パスワードの先頭に追加されるだけです。ユーザーがそのアカウントにログインできないようにするために必要なのはこれだけです。

ユーザーが再度ログインできないようにしたので、ユーザーのプロセスを強制終了してログアウトできます。

プロセスを殺す

ユーザーのプロセスを強制終了する方法はいくつかありますが、ここに示すコマンドは広く利用可能であり、いくつかの選択肢よりも最新の実装です。このpkillコマンドはプロセスを見つけて強制終了します。KILL信号を渡し、-u(ユーザー)オプションを使用しています。

sudo pkill -KILL -u eric

明らかに反気候的な方法でコマンドプロンプトに戻ります。何かが起こったことを確認するために、whoもう一度確認しましょう。

WHO

彼のセッションは終わりました。彼はログオフされ、彼のプロセスは停止されました。それは状況から緊急性のいくらかを取り除きました。これで、セキュリティがエリックのデスクに歩いて行くので、少しリラックスして、残りのモップアップを続けることができます。

関連:Linuxターミナルからプロセスを強制終了する方法

ユーザーのホームディレクトリのアーカイブ

このようなシナリオでは、将来的にユーザーのファイルへのアクセスが必要になることは疑いの余地がありません。調査の一環として、または単にそれらの交換が前任者の仕事を参照する必要があるかもしれないという理由で。このtarコマンドを使用して、ホームディレクトリ全体をアーカイブします。

使用しているオプションは次のとおりです。

  • c:アーカイブファイルを作成します。
  • f:アーカイブの名前には指定されたファイル名を使用します。
  • j:bzip2圧縮を使用します。
  • v:アーカイブの作成時に詳細な出力を提供します。
sudo tar cfjv eric-20200820.tar.bz / home / eric

ターミナルウィンドウでは、多くの画面出力がスクロールします。アーカイブが作成されたことを確認するには、lsコマンドを使用します。私たちは、使用している-l(長い形式)と-h(人が読める)オプションを。

ls -lh eric-20200802.tar.bz

722MBのファイルが作成されました。これは、後で確認できるように安全な場所にコピーできます。

cronジョブの削除

cronユーザーアカウントにスケジュールされているジョブがあるかどうかを確認することをお勧めしますericcronジョブが指定した時間または間隔でトリガーされるコマンドです。以下をcron使用して、このユーザーアカウントにスケジュールされているジョブがあるかどうかを確認できますls

sudo ls -lh / var / pool / cron / crontabs / eric

この場所に何かが存在する場合はcron、そのユーザーアカウントのキューにあるジョブがあることを意味します。このcrontabコマンドで削除できます。-r(削除)オプションは、ジョブを削除し、-u(ユーザー)オプションが伝えcrontabそのジョブ削除します。

sudo crontab -r -u eric

ジョブはサイレントに削除されます。私たちが知っている限りでは、エリックが立ち退きを迫られていると疑っていた場合、悪意のある仕事を予定していた可能性があります。この手順はベストプラクティスです。

印刷ジョブの削除

おそらく、ユーザーは保留中の印刷ジョブを持っていましたか?念のため、ユーザーアカウントに属するジョブの印刷キューを削除できますeric。このlprmコマンドは、印刷キューからジョブを削除します。-U(ユーザー名)オプションを使用すると、名前のユーザーアカウントが所有するジョブを削除することができます:

lprm -U eric

ジョブが削除され、コマンドラインに戻ります。

ユーザーアカウントの削除

すでに/home/eric/ディレクトリからファイルをバックアップしているので、先に進んでユーザーアカウントを削除/home/eric/し、同時にディレクトリを削除することができます。

使用するコマンドは、使用しているLinuxのディストリビューションによって異なります。DebianベースのLinuxディストリビューションの場合、コマンドはdeluserですuserdel。その他のLinuxの世界では、コマンドはです。

実際、Ubuntuでは両方のコマンドを使用できます。私は一方が他方のエイリアスであると半ば期待していましたが、それらは別個のバイナリです。

タイプデルユーザー
userdelと入力します

どちらも利用可能ですが、deluserDebianから派生したディストリビューションで使用することをお勧めします。

userdelは、ユーザーを削除するための低レベルのユーティリティです。Debianでは、管理者は通常、deluser代わりに(8)を使用する必要があります。」

それは十分に明らかなので、このUbuntuコンピューターで使用するコマンドはdeluserです。ホームディレクトリも削除する必要があるため、次の--remove-homeフラグを使用しています。

sudo deluser --remove-home eric

非Debianディストリビューションに使用するコマンドはuserdel--removeフラグ付きです。

sudo userdel --remove eric

ユーザーアカウントの痕跡はすべてeric消去されました。 /home/eric/ディレクトリが削除されたことを確認できます。

ls / home

ericユーザーアカウントがあるためグループも削除されたericことの唯一のエントリーでした。の内容を配管することで、これを非常に簡単に確認でき/etc/groupますgrep

sudo less / etc / group | grep eric

それはラップです

エリックは、彼の罪のために、いなくなっています。セキュリティはまだ彼を建物から追い出しているので、あなたはすでに彼のファイルを保護してアーカイブし、彼のアカウントを削除し、システムから残骸を一掃しました。

精度は常に速度よりも優先されます。実行する前に、必ず各ステップを検討してください。誰かがあなたの机に近づいて「いいえ、他のエリック」と言ってほしくないのです。