나에게 어떤 권한이 있습니까? (bourne 쉘 스크립트에서 확인) [닫기]

나에게 어떤 권한이 있습니까? (bourne 쉘 스크립트에서 확인) [닫기]

저는 git용 원격 비서를 개발 중입니다. 이 스크립트는 Bourne 쉘에 있습니다.

내 홈 디렉터리에 임시 디렉터리를 만들고 싶습니다. 어떤 이유로 내 허가가 거부되었습니다. 아무런 문제 없이 쉘에서 직접 동일한 명령을 실행할 수 있습니다.

모든 환경 변수는 정상적으로 보입니다. $HOME, $USER, ... homedir에는 일반 권한 집합이 있습니다(예: 사용자가 모든 것을 쓸 수 있음). 테스트용으로 데비안을 사용하고 있습니다.

문제의 명령은 다음과 같습니다.

mkdir --mode=600 --parents /home/<user>/.tmp/$$

이상하게도 디렉토리는 효과적으로 생성되지만 여기에 파일을 넣으려는 다음 줄이 다시 거부됩니다. 이번에는 파일이 생성되지 않습니다.

쉘이 실행 중입니다:

set -e # errexit
set -u # nounset
set -f # noglob
set -C # noclobber

set -x

하지만 그것들이 없으면 내 허가는 여전히 거부됩니다.

ps: 방금 $GIT_DIR에서 시도했는데 사용자에게도 쓰기 권한이 있고 권한도 거부되었습니다. 하지만 이번에는 디렉터리 생성이 아니라 다음 줄의 파일 생성에 관한 것입니다.

그러면 누가 나를 거부하는지, 왜 거부하는지 어떻게 알 수 있나요?

관련 정보