aberto de .rpm falhou: Permissão negada

9

Sempre que tento instalar um arquivo .rpm que baixei, estou recebendo:

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

Parece que a escolha do rpm não importa. Eu fiz o chmodded primeiro o .rpm (777), mas isso não faz diferença. o que estou perdendo? Usar rpm -i -v não revela nenhuma informação adicional.

O sistema é RHEL6 de 64 bits.

    
por Oak 21.08.2012 / 16:55

1 resposta

10

Se o seu arquivo rpm estiver em seu diretório pessoal e seu diretório pessoal estiver no NFS, o root poderá não ter acesso a ele. Isso é algo incomum: normalmente, o root pode acessar todos os arquivos. Mas na configuração comum, quando o acesso root é um diretório montado sobre o NFS, os direitos do usuário nobody são usados no lugar do usuário root. O principal objetivo é garantir que o root no cliente não possa manipular arquivos como root no servidor. Isso é implementado como “root tem as permissões de ninguém” ao invés de “root pode ter permissões de ninguém execpt root” principalmente porque isso é mais fácil (embora possa haver outras razões: algum servidor NFS aplica isso a usuários que não sejam 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, normalmente, a única maneira de fazer isso é tornar o arquivo e o diretório legíveis por todos. 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
    
por 22.08.2012 / 01:48