Linux での sudo コマンドの使用方法を確認する方法
公開: 2022-08-24 sudo
コマンドは、ユーザーにスーパーユーザーまたは root 権限を付与します。 あなたが彼らに「大いなる力には大いなる責任が伴う」というスピーチをしたことは間違いありません。 彼らが聞いたかどうかを確認する方法は次のとおりです。
sudo コマンド
sudo
コマンドは、「substitute user do」の略です。 これにより、許可された人が別のユーザーであるかのようにコマンドを実行できます。 コマンド ライン パラメーターを使用できます。そのうちの 1 つは、コマンドを実行するユーザーの名前です。 sudo
の最も一般的な使用方法は、コマンド ライン オプションを省略してデフォルト アクションを使用することです。 これにより、root ユーザーとしてコマンドが効果的に実行されます。
この方法でsudo
を使用するには、特別な許可が必要です。 sudo
を使用できるのは特権ユーザーのみです。 最新の Linux ディストリビューションをインストールすると、 sudo
で使用できるルート パスワードを設定するよう求められます。 これを行う権限は、インストール中に作成した通常のユーザーに付与されます。 これは、root ユーザーの機能へのアクセスを処理するための推奨される方法です。 古い方法では、システムを管理するために root ユーザーを作成し、そのユーザーとしてログインしていました。
これは危険なシナリオでした。 root 権限が不要になったときに、ログアウトして通常のユーザーとしてログインし直すのを忘れがちでした。 端末ウィンドウで root として行ったミスは、どんなに劇的であっても実行されます。 通常のユーザーが実行しようとするとシェルによってブロックされるものは、ルートが要求したときに問題なく実行されます。 通常のアカウントの代わりにルート アカウントを使用することも、セキュリティ リスクになります。
sudo
を使用すると、心が集中します。 あなたは同じ危険な水域に入っていますが、意識的にそうすることを選択しており、できれば細心の注意を払っています. スーパーユーザーのステータスを呼び出すのは、それらを必要とする何かを行う必要がある場合のみです。
ルート アクセスを他のユーザーに開放する場合、他のユーザーもあなたと同じように細心の注意を払っていることを知りたいでしょう。 彼らが無謀にまたは投機的にコマンドを実行することは望ましくありません。 Linux インストールの健全性は、特権ユーザーが敬意を持って責任を持って行動するかどうかにかかっています。
root の使用状況を監視する方法はいくつかあります。
auth.log ファイル
一部のディストリビューションでは、「auth.log」というファイルに認証ログが保持されます。 systemd
の出現と急速な普及により、「auth.log」ファイルの必要性はなくなりました。 systemd-journal
デーモンはシステム ログを当時の新しいバイナリ形式に統合し、 journalctl
はログを調べたり調べたりする方法を提供します。
Linuxコンピューターに「auth.log」ファイルがある場合、おそらく「/var/log/」ディレクトリにありますが、一部のディストリビューションではファイル名とパスは「/var/log/audit/audit」です。ログ。"
less
のようにファイルを開くことができます。 ディストリビューションに合わせてパスとファイル名を調整し、Linux が認証ファイルを作成しない場合に備えてください。
このコマンドは Ubuntu 22.04 で機能しました。
以下 /var/log/auth.log
ログファイルが開かれ、ファイルをスクロールするか、less に組み込まれている検索機能を使用して「sudo」を検索できます。
less
の検索機能を使用しても、関心のあるsudo
エントリを見つけるのに時間がかかる場合があります。
mary
というユーザーがsudo
を何に使用したかを知りたいとしましょう。 「sudo」を含む行をgrep
でログファイルから検索し、出力を再度grep
にパイプして、「mary」を含む行を探すことができます。
grepの前とログファイル名の前にあるsudo
に注意してください。
sudo grep sudo /var/log/auth.log | grep "メアリー"
これにより、「sudo」と「mary」を含む行が得られます。
15:25 にユーザーmary
にsudo
権限が付与され、15:27 にfstab
ファイルをエディターで開いていることがわかります。 これは、ユーザーとのチャットから始めて、より深く掘り下げる必要があるアクティビティのタイプです。
journalctl の使用
systmd
ベースの Linux ディストリビューションで推奨される方法は、 journalctl
コマンドを使用してシステム ログを確認することです。
プログラムの名前をjournalctl
に渡すと、そのプログラムへの参照を含むエントリのログ ファイルが検索されます。 sudo
は「/usr/bin/sudo」にあるバイナリであるため、それをjournactl
に渡すことができます。 -e
(pager end) オプションは、 journalctl
にデフォルトのファイル ページャーを開くように指示します。 通常、これはless
ます。 表示は自動的に一番下までスクロールされ、最新のエントリが表示されます。
sudo journalctl -e /usr/bin/sudo
sudo
を特徴とするログ エントリは、以下にリストされています。
「RightArrow」キーを使用して右にスクロールし、 sudo
の各呼び出しで使用されたコマンドを確認します。 (または、端末ウィンドウを広げて広げます。)
また、出力はless
で表示されるため、コマンド名、ユーザー名、タイムスタンプなどのテキストを検索できます。
関連: journalctl を使用して Linux システム ログを読み取る方法
GNOME ログユーティリティの使用
通常、グラフィカル デスクトップ環境には、ログを確認する手段が含まれています。 GNOME ログ ユーティリティを見ていきます。 ログユーティリティにアクセスするには、「スペースバー」の左側にある「スーパー」キーを押します。
検索フィールドに「ログ」と入力します。 「ログ」アイコンが表示されます。
アイコンをクリックして、「ログ」アプリケーションを起動します。
サイドバーのカテゴリをクリックすると、ログ メッセージがメッセージ タイプ別にフィルタリングされます。 より細かく選択するには、サイドバーの [すべて] カテゴリをクリックしてから、ツールバーの虫めがねアイコンをクリックします。 検索テキストを入力します。 「sudo」を検索します。
イベントのリストはフィルタリングされ、 sudo
コマンドに関連するイベントのみが表示されます。 各行の末尾にある小さな灰色のブロックには、そのイベント セッションのエントリ数が含まれています。 行をクリックして展開します。
一番上の行をクリックして、そのセッションの 24 エントリの詳細を確認しました。
少しスクロールすると、 journalctl
コマンドを使用したときと同じイベントが表示されます。 fstab
ファイルに対するユーザーmary
の原因不明の編集セッションはすぐに見つかります。 「mary」を検索することもできましたが、それにはsudo
の使用以外のエントリが含まれます。
誰もがルートアクセスを必要とするわけではありません
本物の賢明な要件がある場合、他のユーザーにsudo
特権を与えることは理にかなっています。 同様に、特に与えられた直後に、これらの力の使用または乱用をチェックすることは意味があります.