falha na abertura de .rpm: permissão negada

10

Sempre que tento instalar alguns .rpm baixados, recebo:

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

Parece que a escolha de rpm não importa. Eu modifiquei o .rpm primeiro (777), mas isso não faz diferença. o que estou perdendo? O uso rpm -i -vnão revela nenhuma informação adicional.

O sistema é RHEL6 de 64 bits.

Carvalho
fonte
Você pode mostrar a saída desudo -l
Not Now
SELinux, talvez?
Derobert

Respostas:

11

Se o arquivo rpm estiver no diretório inicial e o diretório inicial estiver no NFS, a raiz poderá não ter acesso a ele. Isso é algo incomum: normalmente, o root pode acessar todos os arquivos. Porém, na configuração comum, quando o root acessa um diretório montado sobre o NFS, os direitos do usuário nobodysão usados ​​em vez do usuário root. O principal objetivo é garantir que a raiz no cliente não possa manipular arquivos como raiz no servidor. Isso é implementado como "root possui as permissões de ninguém", em vez de "root pode ter permissões de alguém executadas como root" principalmente porque isso é mais fácil (embora possa haver outros motivos: alguns servidores NFS aplicam isso a outros usuários que não root, para proteger todos os usuários do sistema no servidor).

Se esse é o problema, você precisa tornar o arquivo rpm e o diretório que contém o arquivo acessível para a raiz. Isso significa torná-los acessíveis ao usuário nobody, e geralmente a única maneira de fazer isso é tornar o arquivo e o diretório legíveis pelo mundo. Mais precisamente, as permissões mínimas são

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

Como alternativa, mova o arquivo rpm para um diretório local.

mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm
Gilles 'SO- parar de ser mau'
fonte
1
Absolutamente perfeito, obrigado pela resposta rápida.
Oak