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 -v
nie ujawnia żadnych dodatkowych informacji.
System jest 64-bitowy RHEL6.
sudo -l
Odpowiedzi:
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,
nobody
zamiast 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
nobody
i zwykle jedynym sposobem na to jest uczynienie pliku i katalogu czytelnym dla świata. Dokładniej mówiąc, minimalne uprawnienia toAlternatywnie przenieś plik rpm do katalogu lokalnego.
źródło