質問

ということで、Linux に関してはちょっとした問題がありますが、これが私に Windows で何年も費やさなければならないことを教えてくれます。とにかく、Java Service Wrapper スクリプトでうまくラップされた小さな Java アプリを作成しましたが、そのスクリプトを実行すると次のようになります。

sh ./wrapper.sh console

すぐに許可が拒否されてしまいます。アクセス許可が拒否されたメッセージは次のようなものです。

eval: 1: /home/user1/MyApp/bin/wrapper: Permission denied

私の小さなwrapper.shはMyApp/binフォルダにあります。MyApp/bin/wrapper ディレクトリには 2 つのファイルが含まれています。

  • ラッパー-linux-x86-32
  • ラッパー-linux-x86-64

テストとして、次の chmod コマンドを実行しました。

chmod a=rwx MyApp -R

サブフォルダー内であってもすべてが rwx であることを確認し、スクリプトを再度実行しようとしましたが、まったく同じ結果が得られました...許可が拒否されました。

赤ちゃんを走らせるために次に何を試せるかわかる人はいますか?

ありがとう、ランスロット

役に立ちましたか?

解決

私は、エラーメッセージがあなたのファイルをホスティングのディレクトリのの名前を参照気づいます:

eval: 1: /home/user1/MyApp/bin/wrapper: Permission denied

私たちは、あなたが「ディレクトリのMyApp / binに/ラッパーは2つのファイルが含まれている」述べたので、それがディレクトリであることを知っている。

あなたはコマンドとして、ディレクトリの名前を使用している。ここで、

あなたは、例えば、スクリプトを確認してもらえますか?そのような代わりに(ファイル名であろう)ラッパー/ラッパーのLinux x86-32の、または同様のエラー(ディレクトリ名)ラッパー

を使用するのと ファイル名をファイル名にスペースを使用して引用符を忘れたとき

同様のエラーが頻繁に表示されます(ただし、ここではおそらくないケースを。)

あなたが呼んでいるラッパースクリプトの内容が含まれるようにあなたの質問を編集でき、それに失敗?

(新答えは前NOEXEC考え方とは全く無関係だし、その1は、参考のために滞在することができるので。)

他のヒント

スクリプトをホストしているファイルシステムはnoexecフラグが搭載されている可能性があります。そのファイルシステムのためのあなたの/ etc / fstabのエントリを確認し、noexecがあるかどうは、

mount /path/to/mountpoint -o remountを経由して、そのファイルシステムを再マウントし、それを削除してください

第二の思想に、代わりに/ etc / fstabファイルのNOEXECインスタンスのmountコマンドの出力をチェックする(ファイルシステムが動的にマウントされている可能性があります。)

また、あなたのラッパーに実行スクリプトを許可する必要があります。

のchmod + X wrapper.sh

編集:私はちょうどあなたのwrapper.shがあなたのMyAppフォルダにあることに気づきました / EDIT

また、uはあなたが持っていることを確認した場合、

#!/bin/sh

あなた.SHファイルの先頭に、あなたはこのようにそれを実行することができます:

.wrapper.sh

まず、あなたが読み取りアクセス権を持っていることを確認するために、テキストエディタで開いてみてください。もしそうなら、やる

chmod +x wrapper.sh

そして、あなたはスクリプトの先頭に#!/bin/shいる作る

あなたはユーザー「ユーザー」

へのアクセス許可を与えることができ、他のユーザのホームディレクトリにあったファイルを実行しようとするかもしれません

のchmod -RのA + X /ホーム/ user1の または chmodの-R O + X /ホーム/ user1の chmodの-R G + X /ホーム/ user1の

私の問題は少し違っていたが、私はここに私の調査結果を投稿しますので、同様の問題を検索しているときに

この質問は私の検索で数回登場します。

私の問題は、私はのchmodコマンドの後にストレージ/フォルダにアクセスできなかったということでした。

コマンドを実行した後:

sudo chmod -755 storage -R    //notice -755 is wrong, it should be 755

私はこれ以上のフォルダ/ストレージにアクセスできませんでした。

私が試したls -lます:

またgit status後:

右のコマンドを実行した後:

sudo chmod 755 storage -R // without -

すべてが正常に戻って返されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top