yum의 파일 권한 변경을 중지하는 방법

yum의 파일 권한 변경을 중지하는 방법

패키지를 업그레이드하는 경우 yum은 새 버전의 패키지에 설정된 파일 권한을 설정합니다.

이 일을 어떻게 막을 수 있습니까?

저는 puppet을 사용하는데, 기본적으로 puppet 구성이 있는 디렉터리는 루트가 소유한 755입니다. 하지만 루트가 아닌 다른 사용자도 디렉토리에 쓸 수 있기를 바라서 권한을 변경했습니다. 하지만 실행하면 yum upgrade puppet권한이 이전 상태로 다시 변경됩니다. 이미 존재하는 디렉터리/파일의 권한을 보존하고 싶습니다.

편집: 업그레이드를 수행한 다음 수동으로 권한을 원하는 대로 다시 설정하는 것은 실제로는 옵션이 아닙니다. 디렉터리 중 하나가 CIFS읽기 전용 마운트이므로 루트도 해당 디렉터리에 대한 권한을 변경할 수 없기 때문입니다.

답변1

당신이 원하는 것은 핵심 rpm 기능을 비활성화하는 것입니다. rpm에 포함된 모든 파일은 체크섬, 해당 권한 및 일부 추가/선택 플래그와 함께 패키지에 저장됩니다. 기본적으로 패키지의 파일을 터치할 때 기본 권한을 복원하거나 예를 들어 모든 파일, 권한 및 체크섬을 확인하기를 원하기 때문에 권한 변경을 비활성화할 수 있는 방법이 없습니다.


rpm -q --qf '[%{filenames}: %{filemodes:perms}\t%{fileflags}\n]' puppet
구성이 포함된 디렉터리와
rpm -qf /directory구성이 포함된 디렉터리 의 출력을 추가하고 표시할 수 있습니까 ?

setfacl -m또 다른 접근 방식은 추가를 사용하는 것입니다 .주인사용자는 이 디렉터리를 덮어쓰면 안 됩니다.

또 다른 접근 방식은 rpm 파일 트리거를 사용하는 것일 수 있지만 이는 매우 복잡하고 표준이 아닙니다. 간략한 검색에 따르면 CentOS/RHEL/Fedora는 이를 지원하지 않는 것 같습니다.

관련 정보