![SRPM 패키지에 루트로 실행해야 하는 구성 요소가 포함되어 있는지 어떻게 알 수 있나요?](https://linux55.com/image/177803/SRPM%20%ED%8C%A8%ED%82%A4%EC%A7%80%EC%97%90%20%EB%A3%A8%ED%8A%B8%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%B4%EC%95%BC%20%ED%95%98%EB%8A%94%20%EA%B5%AC%EC%84%B1%20%EC%9A%94%EC%86%8C%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%98%EC%96%B4%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
일부 소프트웨어 패키지는 sudo 패키지와 같이 루트 권한으로 실행해야 하는 소프트웨어를 설치합니다. vim과 같은 다른 것들은 본질적으로 실행하는 데 루트 권한이 필요하지 않습니다.
사양 파일, 구성 파일 또는 SRPM 소스의 기타 파일을 확인하여 패키지가 루트 또는 setuid로 실행되는 소프트웨어를 설치할지 여부를 알 수 있는 일반적인 방법이 있습니까?실제로 시스템에 바이너리 rpm 패키지를 먼저 설치하지 않고?
답변1
SRC.RPM 파일을 찾을 수 없습니다. %build 및 %install 섹션의 스크립트와 %files 섹션의 태그는 감지하기 어려운 수많은 작업을 수행할 수 있기 때문입니다. 유일한 방법은 바이너리 패키지를 빌드한 후 다음을 수행하는 것입니다.
rpmdev-extract $PACKAGE.rpm
cd $PACKAGE
find . -perm /4000
find . -perm /2000
첫 번째는 find
SUID 파일을 찾고 두 번째는 SGID 파일을 찾습니다.
rpm -qp --scripts $PACKAGE.rpm
매우 정확한 상태를 유지하려면 사악한 패커도 chmod
거기에 숨어 있을 수 있으므로 의 출력을 확인해야 합니다 .