私にはどんな権限がありますか? (bourneシェルスクリプトで確認)[閉じる]

私にはどんな権限がありますか? (bourneシェルスクリプトで確認)[閉じる]

私は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で試しましたが、ユーザーにも書き込み権限があり、権限も拒否されました。しかし、今回はディレクトリ生成ではなく、次の行のファイル生成に関するものです。

それでは、誰が私を拒否するのか、なぜ拒否するのかをどうやって知ることができますか?

関連情報