0

Linuxシェルスクリプトを分離するための最も簡単で軽量なソリューションのヒントを教えてください(通常、特別なものがある場合はubuntuです)

分離について私が言いたいこと: 1. ファイルシステム - 最も重要 - 何らかの方法で手動で構成するものを除いて、ワークスペース外のフォルダーにアクセス (読み取り) できないようにしたい 2. 実際には、他のタイプの分離は問題ではありません

「ソフト」分離は問題ありません。つまり、拒否されたパスにアクセス(読み取り)しようとすると、スクリプトが失敗/中止される可能性がありますが、そのような試みに対して「見つかりません」を取得するための「ハード」分離は、よりクリーンなソリューションのように見えます

プロセスの分離は必要ありません。スクリプトは sudo/fakeroot/etc を使用できます。その中にありますが、これは分離には影響しません。

また、1 つのワークスペース内で異なる分離を使用する予定です。

たとえば、次のフォルダーがあります。

a/
b/
include/
target/

make a「a」(rw)、「include」(r)、および「target」(rw+sudo) make b へのアクセスのみを許可し、「b」(rw)、「include」(r)、および「」へのアクセスのみを許可したいターゲット」(rw + sudo)

ターゲットはAとBから両方の結果を取得し、BがAの結果を上書きできるようにします-分離がない場合も同じです

私が話している分離の目標は、A が存在することを知っていても、B が A から読み取られないようにすることです。

ありがとう!

4

1 に答える 1

1

2 人の異なるユーザーと SSH は、問題を解決する簡単な方法です。主な利点の 1 つは、これにより新しいシェルで「クリーンな」環境が開始されることです。

ssh <user_a>@localhost '<path_to_build_script_a>'
ssh <user_b>@localhost '<path_to_build_script_b>'

ユーザー a と b は両方とも、共通ディレクトリを所有するグループのメンバーである必要があります。

ユーザーがそのディレクトリ内に新しいファイルを作成できるかどうかを決定するのは、ディレクトリの書き込み許可であることに注意してください。

編集: 2013-07-29

あなたの場合のように、多くの連続した分離ビルドの場合、1 つの解決策は、既に提案したようにすることです。各ビルドが必要なファイルとフォルダーにのみアクセスできるように、ファイルのアクセス許可の変更を自動化します。

于 2013-07-18T20:07:29.697 に答える