Linuxでユーザーを削除する方法(およびすべてのトレースを削除する方法)
Linuxでユーザーを削除するには、思った以上のことが必要です。システム管理者の場合は、アカウントのすべてのトレースとそのシステムからのアクセスを削除する必要があります。実行する手順を示します。
システムからユーザーアカウントを削除するだけで、実行中のプロセスやその他のクリーンアップタスクを終了する必要がない場合は、以下の「ユーザーアカウントの削除」セクションの手順に従ってください。deluser
Debianベースのディストリビューションでは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
ユーザーアカウントにスケジュールされているジョブがあるかどうかを確認することをお勧めしますeric
。cron
ジョブが指定した時間または間隔でトリガーされるコマンドです。以下を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と入力します
どちらも利用可能ですが、deluser
Debianから派生したディストリビューションで使用することをお勧めします。
「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
それはラップです
エリックは、彼の罪のために、いなくなっています。セキュリティはまだ彼を建物から追い出しているので、あなたはすでに彼のファイルを保護してアーカイブし、彼のアカウントを削除し、システムから残骸を一掃しました。
精度は常に速度よりも優先されます。実行する前に、必ず各ステップを検討してください。誰かがあなたの机に近づいて「いいえ、他のエリック」と言ってほしくないのです。