4

共有システムの他のユーザーに実行させたいスクリプトを作成しましたが、読み取ってはいけません。R/W 権限を取り消す以外は、すべての権限を実行可能に設定しました。

---x--x--x 1 dilletante staff 0 2013-04-02 11:42 expect.sh

ただし、スクリプトの実行に失敗します...理由は簡単です..インタープリターもスクリプトを読み取る必要があります

もしあれば回避策が欲しい..それをコンパイルされた言語に埋め込むことはできますか..それはうまくいきますか? はいの場合、その方法を学べるリソースを教えていただけますか..

4

4 に答える 4

7

シェルはスクリプトを読み取って実行できる必要があります。台本だと無理を求めている。

実行可能プログラム (ld通常は、選択したコンパイル済み実装言語のコンパイラーによって呼び出されるコマンドによって生成される) に対して 111 許可を使用できます。所有者は、必要に応じてプログラムを読み取る許可をいつでも変更できますが、111 許可よりも 511 許可を使用する方が一般的です。

多くの場合、スクリプトと同等の C プログラムを生成する特定のスクリプト言語用のコンパイラがあります。

等。

于 2013-04-02T06:17:10.110 に答える
1

シェル スクリプトを保護する別の方法があります。ここでの目標は、誰もそれらを読み取ったり変更したりできないようにすることなので、次のリンクを試してみてください。

http://www.kinglazy.com/shell-script-encryption-kinglazy-shieldx.htm

上記のページで、シェル スクリプトを送信するだけです (安心のために、最初にサンプル スクリプトを送信できます)。zip ファイルが生成されます。

インストール:

  1. wget zip ファイルへのリンク
  2. 新しくダウンロードしたzipファイルを解凍する
  3. cd /tmp/KingLazySHIELD
  4. ./install.sh /var/tmp/KINGLAZY/SHIELDX-(スクリプトの名前) /bin -force

上記のインストール コマンドが行うことは次のとおりです。

  1. 暗号化されたスクリプトをディレクトリ /var/tmp/KINGLAZY/SHIELDX-(name-of-your-script) にインストールします。

  2. この暗号化されたスクリプトへのリンクが /bin に配置されます。これにより、実行するたびにスクリプトへの絶対パスを入力する必要がなくなります。

  3. 誰もスクリプトを変更できないようにします - 暗号化されたスクリプトを変更しようとすると、変更が取り除かれるまで動作不能になります。

  4. 絶対に誰もそれの作業コピーを作成できないようにします。スクリプトを人里離れた場所にコピーして、それがどのように機能するかを確認しようとすることはできません。実行しようとすると、中止され、実行されません。

于 2016-05-02T04:17:12.033 に答える