Otwarcie .rpm nie powiodło się: Odmowa zezwolenia


10

Za każdym razem, gdy próbuję zainstalować pobrany plik .rpm, otrzymuję:

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

Wygląda na to, że wybór rpm nie ma znaczenia. Najpierw chmodowałem plik .rpm (777), ale to nie robi różnicy. czego mi brakuje? Korzystanie rpm -i -vnie ujawnia żadnych dodatkowych informacji.

System jest 64-bitowy RHEL6.


Czy możesz pokazać wynikisudo -l
Nie teraz

Może SELinux?
derobert

Odpowiedzi:


11

Jeśli plik rpm znajduje się w katalogu domowym, a katalog domowy w systemie plików NFS, root może nie mieć do niego dostępu. Jest to w jakiś sposób niezwykłe: zwykle root może uzyskać dostęp do każdego pliku. Ale w powszechnej konfiguracji, gdy użytkownik root uzyskuje dostęp do katalogu podłączonego przez NFS, nobodyzamiast użytkownika root są używane prawa użytkownika. Głównym celem jest upewnienie się, że root na kliencie nie może manipulować plikami jako root na serwerze. Jest to realizowane, ponieważ „root ma uprawnienia nikogo”, a nie „root może mieć uprawnienia do wykonania roota” przede wszystkim dlatego, że jest to łatwiejsze (chociaż mogą być inne powody: niektóre serwery NFS stosują to do użytkowników innych niż root, aby chroń wszystkich użytkowników systemu na serwerze).

Jeśli to jest problem, musisz udostępnić zarówno plik rpm, jak i katalog zawierający plik, aby można go było rootować. Oznacza to udostępnienie ich użytkownikowi nobodyi zwykle jedynym sposobem na to jest uczynienie pliku i katalogu czytelnym dla świata. Dokładniej mówiąc, minimalne uprawnienia to

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

Alternatywnie przenieś plik rpm do katalogu lokalnego.

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

1
Absolutnie na miejscu, dziękuję za szybką odpowiedź.
Oak
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.