![suid를 설정했지만 작동하지 않는 스크립트! [복사]](https://linux55.com/image/174051/suid%EB%A5%BC%20%EC%84%A4%EC%A0%95%ED%96%88%EC%A7%80%EB%A7%8C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8!%20%5B%EB%B3%B5%EC%82%AC%5D.png)
응용 프로그램 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 비트가 설정된 스크립트 파일을 통해 수행되었습니다.