\r\n\r\n
Linuxでユーザーを削除することは、意外と多くのことを含んでいます。システム管理者の場合は、アカウントとそのアクセス権の痕跡をすべてシステムから削除する必要があります。その手順をご紹介します。
ユーザーアカウントをシステムから削除するだけで、実行中のプロセスやその他のクリーンアップ作業を終了させない場合は、以下の「ユーザーアカウントの削除」の手順に従ってください。Debianベースのディストリビューションではdeluserコマンド、その他のLinuxディストリビューションではuserdelコマンドが必要です。
1960年代初頭にタイムシェアリングシステムが登場し、複数のユーザーが1台のコンピュータで作業できるようになって以来、各ユーザーのファイルやデータを他のすべてのユーザーから分離することが求められてきた。こうして、ユーザーアカウントとパスワードが誕生した。
ユーザーアカウントには、管理上のオーバーヘッドがあります。ユーザーが最初にコンピューターにアクセスする必要があるときに作成する必要があります。アクセスが不要になったら、取り外す必要があります。Linuxでは、コンピューターからユーザー、そのファイル、アカウントを適切かつ体系的に削除するために、いくつかのステップを踏む必要があります。
システム管理者であれば、その責任はあなたにある。これがその方法である。
アカウントの削除が必要な理由はさまざまでしょう。社員が他のチームに移ったり、単に会社を辞めたりすることもあります。他社からの来訪者と短期間の共同作業を行うために設定されたアカウントである可能性があります。学術界ではチームワークが一般的で、研究プロジェクトは学部や異なる大学、あるいは営利団体にまたがることもある。プロジェクト終了時には、システム管理者がハウスキーピングを行い、不要なアカウントを削除する必要があります。
最悪の場合、誰かが軽犯罪で辞めてしまうこともあり得ます。このような現象は、通常、ほとんど前触れもなく突然起こります。このため、システム管理者が計画を立てる時間はほとんどなく、アカウントのロック、閉鎖、削除、およびシャットダウン後のフォレンジックに必要なユーザーファイルのコピーのバックアップが急務となっています。
このシナリオでは、ユーザーEricが即座に退去させられるようなことをしたことにしています。この時点では、彼はまだ職場にいてログインしているので、知らない。あなたがうなずいた時点で、彼は建物の外に連れ出されることになっています。
準備は万端、注目の的です。
実際にログインしているかどうか、ログインしている場合はどれだけのセッションを扱っているかを見てみましょう。 whoコマンドはアクティブなセッションを一覧表示します。
whoEricは一度ログインしているので、どのようなプロセスを実行しているか見てみましょう。
psコマンドを使えば、このユーザーが実行しているプロセスを一覧表示できます。u(ユーザー)オプションを使えば、psの出力を、このユーザーアカウントの所有権下で実行されているプロセスに限定することができます。
ps -u erictop コマンドを使えば、同じプロセスをより多くの情報とともに見ることができる。 top には -U (user) オプションもあり、出力を単一のユーザーが所有するプロセスに限定することができる。今回は大文字の "U "であることに注意
top -U eric各タスクのメモリやCPUの使用状況を確認でき、不審な動きがないかすぐに調べることができます。彼のすべてのプロセスを強制終了しますので、これらのプロセスを素早くチェックし、ユーザーアカウントのプロセスを終了する際に、他のユーザーに迷惑をかけないように確認する時間を取ることが最も安全です。
ファイルの閲覧が少なくなっただけで、大したことはしていないように見える。続けられます。しかし、彼のプロセスを殺す前に、アカウントを凍結するためにパスワードをロックします。
関連:Linuxのプロセスを監視するpsコマンドの使い方
プロセスを終了させると、ユーザーがログアウトしてしまうので、プロセスを終了させる前にアカウントをロックします。パスワードを変更した場合、ログインできなくなります。
暗号化されたユーザーパスワードは、/etc/shadow ファイルに保存されます。通常は次のステップを気にする必要はありませんが、アカウントをロックしたときに /etc/shadow ファイルで何が起こっているかを確認するために、少し回り道をします。次のコマンドで、ericユーザーアカウントのエントリーの最初の2つのフィールドを見ることができます。
sudo awk -F: '/eric/ {print $1,$2}' /etc/shadowawk コマンドは、テキストファイルのフィールドを解析し、オプションでそのフィールドに対して操作を行います。F (field separator) オプションを使って、フィールドを区切るのにコロン ":" を使うように awk ファイルに指示します。エリック」柄のラインを募集しています。一致する行については、1番目と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治療が一段落した。彼は帳消しにされ、プログラムも停止された。そのため、緊急事態が発生したのです。警備員がエリックのデスクに歩いてくるので、これで安心して残骸を掃ける。
関連:Linuxのターミナルからプロセスを終了させる方法
そのような場合、将来的にユーザーのファイルにアクセスする必要が生じる可能性はゼロではありません。調査の一環として、あるいは単に後任者が前任者の仕事を参照する必要があるためです。tarコマンドを使って、彼らのホームディレクトリを丸ごとアーカイブすることにします。
私たちが使っているオプションは
画面出力の多くは、ターミナルウィンドウをスクロールすることになります。アーカイブが作成されているかどうかを確認するには、lsコマンドを使用します。l(ロングフォーマット)、-h(ヒューマンリーダブル)オプションを使用します。
ls -lh eric-20200802.tar.bz722MBのファイルが作成されました。これは、後で確認するために安全な場所にコピーしておくことができます。
cronジョブは、指定された時間または間隔で起動されるコマンドです。lsを使用して、このユーザー・アカウントでスケジュールされているcronジョブがあるかどうかを確認することができます。
sudo ls -lh /var/spool/cron/crontabs/ericこの場所に何かが存在する場合、そのユーザー・アカウントのためにキューに入れられたcronジョブが存在することを意味します。このcrontabコマンドで削除することができます。r (remove) オプションはジョブを削除します。-u (user) オプションは、誰のジョブを削除するかについて、crontab に指示します。
sudo crontab -r -u ericジョブは自動的に削除されます。私たちの知る限り、エリックは自分の立ち退きが迫っていると疑えば、悪意のある仕事を手配したのかもしれない。このステップはベストプラクティスです。
ユーザーが印刷ジョブを保留にしているのでは?念のため、ユーザーアカウントに属するジョブを印刷キューから削除する lprm コマンドを実行すると、ジョブを印刷キューから削除できます。指定されたユーザー・アカウントが所有するジョブは、-U(ユーザー名)オプションで削除できます。
lprm -U ericジョブは削除され、コマンドラインに戻されます。
すでに/home/eric/ディレクトリのファイルをバックアップしているので、このままユーザーアカウントを削除し、同時に/home/eric/ディレクトリを削除します。
使用するコマンドは、お使いのLinuxディストリビューションに依存します。DebianベースのLinuxディストリビューションではdeluser、それ以外のLinux世界ではuserdelというコマンドを使用します。
実際、Ubuntuではどちらのコマンドも利用可能です。一方がもう一方のエイリアスであることを半ば期待しているのですが、両者は異なるバイナリです。
type deluser type userdelどちらも利用可能ですが、Debian由来のディストリビューションではdeluserを使用することが推奨されています:.
"userdel "はユーザーを削除するための低レベルのユーティリティです。Debianでは、管理者は通常、代わりにdeluser (8)を使用する必要があります。"
これは明らかなので、このUbuntuマシンで使用するコマンドはdeluserです。ホームディレクトリも削除したいので、--remove homeフラグを使用します。
sudo deluser --remove-home ericDebian以外のディストリビューションでのコマンドはuserdelで、--removeフラグが付きます:.
sudo userdel --remove ericユーザーアカウントの痕跡はすべて消去され、/home/eric/ディレクトリが以下のように削除されたことが確認できます。
ls /homeまた、ユーザーアカウントericが唯一のエントリであるため、ericグループも削除されました。以下のように、/etc/groupの内容をgrep pipingすることで簡単に確認することができます。
sudo less /etc/group | grep ericエリックは、その罪のために、もういないのです。警備員がまだ彼を建物の外に連れ出しています。あなたは彼のファイルを保護し、アーカイブし、アカウントを削除し、システムから残骸を消去しています。
正確さは常にスピードに勝る。行動を起こす前に、必ずすべてのステップを検討する。デスクまで来て、"No, another Eric "なんて言われたくないでしょ?