web-dev-qa-db-ja.com

フォルダーをsudoersから保護する

Sudoersがあなたのフォルダを閲覧できないようにする機能はありますか(あなたとrootだけがフォルダにアクセスできます)?

7
Arthur Halma

「sudoers」とは、Sudoファイルにbob ALL=(ALL) ALLのような行を介して記載されているため、sudoers接頭辞を付けてrootとしてコマンドを実行できるユーザーを意味します、次にこれらの人々あるルート。 rootであることを定義するのは、rootアカウントのパスワードを知らないことであり、何らかの手段でrootアカウントにアクセスすることです。

ルートからデータを保護することはできません。定義により、rootユーザーはすべてを実行できます。 rootは権限を変更またはバイパスできるため、権限は役に立ちません。 rootは復号化を行うプログラムを破壊できるため、暗号化は役に立ちません。

誰かを信頼していない場合は、データを保存するマシン上でrootアクセスを許可しないでください。マシン上でrootアクセス権を持つ人を信頼しない場合は、そのマシンにデータを保存しないでください。

アプリケーションの快適な管理、パッケージのインストールなど、特定の目的でユーザーがrootアクセスを必要とする場合は、ユーザーに独自のハードウェアを提供するか、独自の仮想マシンを提供します。それらをVMでrootにしますが、ホストではrootにしません。

通常、Sudoアクセスはこのタイプの方法で許可されます。

# User privilege specification

root    ALL=(ALL) ALL
user1   ALL=(ALL) ALL

このシナリオでは、ユーザーは基本的にrootになり、好きなことをするための自由なアクセス権を持っています。代わりにこのようにすることで、Sudo内のさまざまなタスクへのアクセスを許可する方法をより賢くすることができます。

user1  ALL=(root) /usr/bin/find, /bin/rm

ここでは、user1が使用できるコマンドをfindrmだけに制限しています。ユーザーが特定のコマンドのみを必要としていることがわかっている場合は、そのコマンドのみへのアクセス権をユーザーに付与できます。

さらに、コマンドを追加するだけでなく、スクリプトを作成できます。例えば:

user1  ALL=(root) /usr/local/bin/limited_script.sh

このスクリプトは、ユーザーがアクセスできる唯一のコマンドです。たとえば、cd /to/some/dir、以前のスクリプトで、アクセスする必要があるすべてのコマンドをラップします。これは、彼らのアクセスを制限する方法かもしれません。

このアプローチは完全な証拠ではありませんが、ある程度の保護を提供することを認識してください。

5
slm

Sudoerが実行できるコマンドがsudoers構成ファイル(通常/etc/sudoers)、Sudorootを与えるので、sudoerがディレクトリにアクセスするのを防ぐ方法はありません。

4
Flup

通常、Sudoは、少なくとも特定のコマンドについて、通常のユーザーがroot権限を獲得するために使用されます。したがって、rootがそれを読み取ることができる場合、Sudoを使用するユーザーもそれを読み取ることができます。

あなたができる最善のことは、個人的なパスワードに何らかの方法でフォルダー/ファイルを暗号化することであったと思います。

4
Baard Kopperud

ACLを使用する可能性があり、適切なACEエントリを設定することで、これを実行できる場合があります。ただし、少し面倒です。

とにかく、これを行う場合、管理者はどのようにしてファイル/ディレクトリの問題を修正するのを手伝ってくれるでしょうか?信頼できるユーザーを信頼するか、信頼せずに、管理者を信頼する別のシステムに移動します。

2
mdpc