suid를 설정했지만 작동하지 않는 스크립트! [복사]

suid를 설정했지만 작동하지 않는 스크립트! [복사]

응용 프로그램 ID(새 파일만 터치)에서 제대로 작동하는 간단한 스크립트가 있고 개인 ID를 통해 호출하려고 합니다. 대상 파일 위치는 내 개인 ID에 쓰기 권한이 없는(그러나 스크립트 소유자는 있음) 영역에 있고 스크립트에 SUID 비트가 설정되어 있지만 이를 내 ID로 전달할 때( myID myGrp ), 터치 거부 권한을 부여합니다.

스크립트 설정이 정확합니다.

-rwsrwxr-x appID appGrp 1.sh

(만 포함 touch /myDir/1)

이것이 suid 비트의 실제 목적이지만 해야 할 일을 수행하지 않습니다. 대상 디렉터리의 권한은 다음과 같습니다.

drwxrwxr-x appID appGrp myDir

디렉토리에 대해 w를 ON으로 설정하고 싶지 않습니다. 목적을 무너뜨립니다. 또한 디렉토리의 고정 비트를 설정하고 싶지 않습니다.

또한 마운트를 확인하고 dir이 있는 파일 시스템(이 경우에는 /app)에 NOSUID가 설정되지 않았는지 확인하여 깨끗합니다. nosuid로 마운트되지 않았습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

당시에는 매우 유용한 기능이었습니다. 어느 시점에서 일부 사람들은 이를 남용하기 시작했고 일부 UNIX 버전에서 이를 비활성화하기 시작했습니다. 당시에는 sudo가 없었기 때문에 sudo로 수행할 수 있는 많은 작업은 setuid 비트가 설정된 스크립트 파일을 통해 수행되었습니다.

쉘 스크립트에 setuid 설정 허용

관련 정보