Öffnen von .rpm fehlgeschlagen: Berechtigung verweigert

10

Immer wenn ich versuche, eine von mir heruntergeladene RPM zu installieren, wird Folgendes angezeigt:

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

Es scheint, dass die Wahl der Drehzahl keine Rolle spielt. Ich habe zuerst die .rpm (777) geändert, aber es macht keinen Unterschied. Was vermisse ich? Bei der Verwendung werden rpm -i -vkeine zusätzlichen Informationen angezeigt.

Das System ist RHEL6 64-Bit.

Eiche
quelle
Können Sie die Ausgabe vonsudo -l
Not Now
SELinux vielleicht?
Derobert

Antworten:

11

Wenn sich Ihre RPM-Datei in Ihrem Home-Verzeichnis befindet und sich Ihr Home-Verzeichnis in NFS befindet, hat root möglicherweise keinen Zugriff darauf. Das ist irgendwie ungewöhnlich: Normalerweise kann root auf jede Datei zugreifen. Beim allgemeinen Zugriff werden beim Root-Zugriff auf ein Verzeichnis, das über NFS bereitgestellt wird, die Rechte des Benutzers nobodyanstelle des Root-Benutzers verwendet. Der Hauptzweck besteht darin, sicherzustellen, dass root auf dem Client keine Dateien als root auf dem Server bearbeiten kann. Dies wird implementiert, da "root die Berechtigungen von niemandem hat" und nicht "root kann die Berechtigungen von jedermann ausführen", hauptsächlich weil dies einfacher ist (obwohl es andere Gründe geben kann: Einige NFS-Server wenden dies auf andere Benutzer als root an, um alle Systembenutzer auf dem Server schützen).

Wenn dies das Problem ist, müssen Sie sowohl die RPM-Datei als auch das Verzeichnis mit der Datei für root zugänglich machen. Das bedeutet, dass sie dem Benutzer zugänglich gemacht werden. In der nobodyRegel besteht die einzige Möglichkeit darin, die Datei und das Verzeichnis für die Welt lesbar zu machen. Genauer gesagt sind die minimalen Berechtigungen

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

Alternativ können Sie die RPM-Datei in ein lokales Verzeichnis verschieben.

mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm
Gilles 'SO - hör auf böse zu sein'
quelle
1
Absolut genau richtig, danke für die schnelle Antwort.
Eiche