재패키징된 squashfs의 sudo가 setuid인지 확인하는 방법은 무엇입니까?

재패키징된 squashfs의 sudo가 setuid인지 확인하는 방법은 무엇입니까?

yocto 빌드와 애플리케이션 페이로드가 포함된 squashfs 파일을 조작하려고 하는데 이 작업을 수행할 때마다 sudo나중에 실행되지 않습니다. 루트 사용자가 비활성화되었으므로 실제 선택의 여지가 없습니다.

내 접근 방식은 파일 시스템의 압축을 풀고 압축을 푼 파일을 다시 압축하는 것이었습니다. 이 프로세스 동안 소유자는 내 로컬 사용자로 설정되었으며(괜찮습니다. 이 문제를 해결할 수 있습니다) setuid가 sudo에서 제거된 것으로 보입니다.

답변1

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

관련 정보