2014-11-12 3 views
5

파일의 POSIX capabilities을 설정하는 RPM을 만들려면 어떻게합니까? 내가 루트가 아닌 사용자로 rpmbuild을 해보려고하면, 내 makefile의 설치 후크가 setcap을 실행하려고 시도 할 때 오류가 발생하지만, 실행하지 않으면 setcap은 어떻게 되나요? rpmbuild 기능을 복사 할 수 있습니까? RPM spec file 내에서 기능을 설정하는 방법이없는 것 같습니다.POSIX 파일 기능을 설정하는 RPM 만들기

답변

7

여기에서 이고 기능 설정을위한 spec 파일 매크로는 %caps입니다. 웬일인지 이것은 주로 release notes과 changelogs에 기록되어있는 것 같습니다. 그래서 그것을 찾는데 어느 정도 시간이 걸렸습니다.

사양 파일에 다음과 같이 사용되는 :

@if test `id -u` -eq 0; then \ 
    setcap cap_net_admin=pe $(DEST_SBINDIR)/foobar ; \ 
fi 
+0

내가 수 없습니다 : 당신은 이런 식으로 뭔가를 할 수있는 루트에 의해 호출하는 경우에만

%caps(cap_net_admin=pe) %{_sbindir}/foobar 

setcap를 사용하는 make install를 얻으려면 '% caps' 지시어를 작동시킵니다. 예상치 못한 토큰 \'cap_net_raw + ep '근처에서'구문 오류가 발생했습니다. 이 문제에서 설명한대로 '% post'를 사용하는 다른 해결책을 찾았습니다 : https://github.com/schweikert/fping/issues/24#issue-5647305 – acw