.rpm 열기 실패: 권한이 거부되었습니다.

.rpm 열기 실패: 권한이 거부되었습니다.

다운로드한 일부 .rpm을 설치하려고 할 때마다 다음과 같은 메시지가 나타납니다.

> sudo rpm -i something.rpm
error: open of something.rpm failed: Permission denied

rpm의 선택은 중요하지 않은 것 같습니다. 먼저 .rpm을 chmodded(777)했지만 아무런 차이가 없었습니다. 내가 무엇을 놓치고 있나요? 사용 시 rpm -i -v추가 정보가 공개되지 않습니다.

시스템은 RHEL6 64비트입니다.

답변1

rpm 파일이 홈 디렉터리에 있고 홈 디렉터리가 NFS에 있으면 루트가 해당 파일에 액세스하지 못할 수도 있습니다. 이는 다소 특이한 현상입니다. 일반적으로 루트는 모든 파일에 액세스할 수 있습니다. 그러나 일반적인 설정에서는 루트가 NFS 마운트 디렉터리에 액세스할 때 nobody루트 사용자 대신 해당 사용자의 권한이 사용됩니다. 주요 목적은 클라이언트의 루트가 서버의 루트와 동일한 방식으로 파일을 조작할 수 없도록 하는 것입니다. 이는 "루트는 루트 이외의 누구에게도 권한을 가질 수 있습니다"가 아니라 "루트는 누구에게도 권한이 없습니다"로 구현됩니다. 이는 주로 더 쉽기 때문입니다(다른 이유가 있을 수 있음: 일부 NFS 서버는 모든 시스템 사용자를 보호하기 위해 루트를 제외하고 이 사용자를 적용함) 서버에서).

이것이 문제라면 rpm 파일과 이를 포함하는 디렉터리에 대한 루트 액세스 권한을 부여해야 합니다. 이는 사용자가 액세스할 수 있도록 하는 것을 의미하며 nobody, 이를 수행하는 유일한 방법은 모든 사람이 파일과 디렉토리를 읽을 수 있도록 만드는 것입니다. 보다 정확하게는 최소 권한은

chmod a+x .
chmod a+r something.rpm

또는 rpm 파일을 로컬 디렉터리로 이동합니다.

mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm

관련 정보