ユーザーがrootを介して他のユーザーのファイルにアクセスするのを防ぐメカニズムは何ですか?

ユーザーがrootを介して他のユーザーのファイルにアクセスするのを防ぐメカニズムは何ですか?

マルチユーザーシステムでは、ユーザーがrootを介して他のユーザーのファイルにアクセスするのを防ぎますか?文脈に応じて、質問は次のように私の理解に基づいています。

root権限に関連する2つのコマンドがありますsudosuを使用すると、sudo他のユーザー(ルートを含む)になりません。sudoユーザーに代わって実行される事前定義済みの承認済みコマンドのリストがあります。ルートや他のユーザーではないため、自分のパスワードを使用して簡単に認証できます。

を使用すると、su実際にはrootまたは他のユーザーになります。 Bobというユーザーになるには、Bobのパスワードが必要です。ルートになるには、ルートパスワード(マルチユーザーシステムで定義されている)が必要です。

参考資料:Howtogeek.com:

surootユーザーアカウントに切り替え、rootアカウントのパスワードが必要です。sudoroot 権限で 1 つのコマンドを実行すると、root ユーザーに切り替えられません。

そして

sub bob コマンドを実行すると、Bob のパスワードを入力するよう求められ、シェルは Bob のユーザーアカウントに切り替えられます。コンピュータ希望ネットワーク

tecmint.com:

'sudo'は、rootコマンドを実行する権限を持つユーザーを表すルートバイナリsetuidです。

ルートになると、すべてにアクセスできます。他のユーザーのアカウントに不正にアクセスする人はrootパスワードを取得できず、sudo何を使用できるかについての定義もありません。

次のことを見るまで、これはすべて意味があります。このリンクsudo -V、ここに自分のパスワードを使ってルートになるためのチュートリアルがありますsudo su -

どのユーザーでもrootパスワードなしでrootになることができれば、不正アクセスからユーザーファイルを保護するメカニズムは何ですか?

ベストアンサー1

これ基本sudoとの違いは、su認証に使用されるメカニズムです。ユーザーはパスワード(徹底的に保護する必要があります)をsu知る必要があり、通常はユーザーに自分のパスワードを要求するように設定されます。すべてのユーザーが混乱を招くのを防ぐために、幸いなことに、このコマンドで解放された権限はファイルを使用して構成できます。rootsudosudo/etc/sudoers

これら2つのコマンドはしばしば他のユーザーとしてコマンドを実行しますroot

sudo su -ユーザー(またはユーザーが属するグループ)がファイル/etc/sudoersに構成されているため、提供された例で機能します。つまり、許可するsudoこれにより一時的に権限をsudo取得し(ユーザー名がroot指定されていない場合はデフォルト)。パスワードを知らなくてもアクセスできます。rootsu -rootroot

逆に、ユーザーに使用を許可しないとsudo使用できませんsudo su -

ディストリビューションには、通常、wheelメンバーがsudoすべてのコマンドを実行できるようにするグループ(しばしば呼ばれる)があります。このグループから削除すると、デフォルトでsudoはまったく使用できなくなります。

これを行う行は次/etc/sudoersのとおりです。

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

このグループからユーザーを削除すると、システムはより安全になりますが、ユーザー(または他のシステム管理者)がユーザーに代わってシステムでより多くの管理タスクを実行します。

より賢明なトレードオフは、誰がそれを使用でき、使用できないか、およびそれらが使用できるコマンド(デフォルトではなく)をsudoより細かく制御できるように構成することです。sudoみんな注文する)。例えば、

## Allows members of the users group to mount and unmount the
## cdrom as root
%users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

(以前の%wheel行がコメントアウトされているwheel場合、またはグループにユーザーがいない場合にのみ便利です。)

おそらくディストリビューションでは、管理者がユーザーとシステムに何を要求するかを予測できないため、これらのより細かい構成を標準で実装することはありません。

結論は、詳細を知っていると、ユーザーシェルへのアクセスを許可しない他のコマンド、または他のユーザーのファイルを変更できるコマンドへのアクセスを許可しながら停止できることですsudo。誰に、どのレベルまで許可するかを慎重に検討する必要があります。sudo su -rootsudo

警告する:visudoファイルを編集するには、必ずこのコマンドを使用してください。sudoers編集内容を確認し、誤って設定されたファイル(構文エラーのため)により、sudoエラーに対して編集を使用できないという難しい状況を防ぐことができます。これは、rootこのアカウントがデフォルトで無効になっているDebian / Ubuntuとバリアントの場合に特に当てはまります。

おすすめ記事