다시 패키징된 squashfs에서 sudo가 setuid인지 어떻게 확인하나요?

다시 패키징된 squashfs에서 sudo가 setuid인지 어떻게 확인하나요?

yocto 빌드와 애플리케이션 페이로드가 포함된 squashfs 파일을 조작하려고 하는데 그렇게 할 때마다 sudo이후 실행에 실패합니다. 루트 사용자가 비활성화되었으므로 실제 대안이 없습니다.

내 접근 방식은 파일 시스템의 압축을 풀고 압축을 푼 파일을 다시 패키지하는 것입니다. 이 프로세스에서 소유자는 내 로컬 사용자로 설정되고(괜찮습니다. 수정할 수 있습니다.) setuid가 sudo에서 제거된 것 같습니다.

답변1

를 사용하여 unsquashfs파일의 압축을 풀고 있다고 가정하면 setuid 비트 없이 자신이 소유한 파일 세트를 얻게 됩니다. 그러나 원하는 파일에 setuid 비트를 수동으로 다시 넣을 수 있습니다( chmod u+s). 물론 그들은 귀하의 ID로 설정됩니다. 그러나 mksquashfs추가 옵션을 사용하여 파일을 다시 패키지하면 -all-root파일 시스템의 모든 파일은 사용자가 아닌 루트의 소유가 되며 모든 setuid 비트는 보존됩니다.

관련 정보