2017-06-09 11 views
0

ファイルがあり、別のファイルシステムからマウントされていて、rootユーザーがファイルのアクセス許可を変更するアクセス権を持っていません。 現在のアクセス権はファイルに対して755です。 Cookbookのファイルリソースがアクセス権をチェックし、755でない場合は755に変更します。 rootユーザーとしてcookbookを実行すると、「不十分なアクセス権」として例外が発生します。 ファイルにいくつかの権限があり、シェフがそれを変更しようとしましたが、これを行うことはできませんでしたが、ここではパーミッションが期待どおりであれば、なぜこの例外が発生するのですか? 私を助けてください!シェフが不十分ファイルリソースにアクセス許可エラーが発生しました

+0

レシピコードを表示すると、私はあなたの希望するモードを想定し、実際のモードはまったく同じではありません。さらに、別のファイルシステムからマウントされたと言うと、ソースファイルシステムは何ですか? 'stat 'は何を返しますか?リモートファイルシステムをマウントするとき、リモートサーバーはアクセス許可の一覧表示を拒否したり、バニラアクセスを返したりすることがあります。 – Tensibai

答えて

0

ルートは、ほとんどの場合、任意のファイルにアクセスする権限を持っています(POSIX ACLのようなUnixファイルシステムのモデルをいくつか提供しています)。それにかかわらず、リソースからmodeプロパティを削除するだけで、シェフは何も実行しようとしません。

+0

しかし、リソースが複数のファイルに対して繰り返し実行され、偏差があればアクセス権が変更されるため、モードプロパティは削除できません。しかし、問題は、1つのファイルのルートはアクセス権を変更できないということです。私の質問は、シェフが許可を同じにしてファイルをスキップしてはいけないということですか? –

+0

https://github.com/chef/chef/blob/master/lib/chef/file_access_control/unix.rb#L187-L215は関連するコードです。正確には 'chmod'を試すべきではありませんが、あなたはすでにルートが非常に奇妙な状況に陥っているので、何か別のことが起こっても私は驚かないでしょう。 – coderanger

関連する問題