私はgit用のリモート秘書を開発しています。このスクリプトは Bourne シェルにあります。
私のホームディレクトリに一時ディレクトリを作成したいと思います。何らかの理由で私の許可が拒否されました。問題なく、シェルから直接同じコマンドを実行できます。
すべての環境変数は正常に見えます。 $ HOME、$ USER、... homedirには一般的な権限セットがあります(たとえば、ユーザーはすべてを書くことができます)。テスト用にDebianを使用しています。
問題のコマンドは次のとおりです。
mkdir --mode=600 --parents /home/<user>/.tmp/$$
奇妙なことに、ディレクトリは効果的に作成されますが、ここにファイルを入れたい次の行は再び拒否されます。今回はファイルは生成されません。
シェルが実行中です。
set -e # errexit
set -u # nounset
set -f # noglob
set -C # noclobber
set -x
しかし、それらがなければ、私の許可はまだ拒否されます。
ps:私は$ GIT_DIRで試しましたが、ユーザーにも書き込み権限があり、権限も拒否されました。しかし、今回はディレクトリ生成ではなく、次の行のファイル生成に関するものです。
それでは、誰が私を拒否するのか、なぜ拒否するのかをどうやって知ることができますか?