Warum ist es schlecht, RPMs als Root zu erstellen?

11

Diese Seite enthält eine wichtige Warnung:

Wichtig

Erstellen Sie niemals RPMS als Root.

Warum ist es schlecht, RPMs als Root zu erstellen? Ist es die Möglichkeit, einige Dateien zu überschreiben? Gibt es Probleme mit Dateiberechtigungen?

ro.
quelle

Antworten:

22

Schlecht geschriebene RPM .spec-Dateien (oder sogar gut geschriebene mit einem Tippfehler) können falsche Dinge tun wie:

  • Installieren Sie direkt auf dem laufenden System anstatt auf einer Sandbox
  • Lassen Sie Junk im Dateisystem
  • Führen Sie versehentlich böse Befehle aus, wie z. rm -rf ${RPM_BUILD_ROOT}

Es gibt keinen Teil des RPM-Erstellungsprozesses, der tatsächlich Root-Zugriff benötigt. Daher sollten wir beim Erstellen von RPMs die Standardprozedur "Wenn keine Root-Berechtigung erforderlich ist, wird sie nicht als Root ausgeführt" befolgen.

Dies vermeidet schlimme Unfälle und Überraschungen.

MikeyB
quelle
4

Mock für Fedora ist auch ziemlich nett. Wenn es in Schein gebaut wird, ist es wahrscheinlich eine ziemlich saubere Drehzahl.

Staffelei
quelle
Nachdem FWIW zuvor mit Red Hat zusammengearbeitet hat, weiß ich, dass sie verlangen, dass ein RPM in Mock erstellt wird, bevor sie es in ihre Build-Umgebung aufnehmen. Ich denke, dasselbe gilt auch für das Fedora-Projekt.
EmmEff
3

Im Allgemeinen sollten Sie den Root-Benutzer niemals verwenden, es sei denn, Sie benötigen wirklich die Rechte. Aber Sie haben Recht, das Hauptproblem wäre, dass 'rpmbuild' fast alles ausführt, was Sie in eine Spezifikationsdatei geschrieben haben. (Dateien überschreiben, Benutzer erstellen, Dateien löschen usw.).

Bearbeiten:

Als Randnotiz würde ich vorschlagen, einen Blick auf den openSUSE Build Service zu werfen, der das Erstellen von RPMs für verschiedene Distributionen wirklich einfach macht. (Es kann auch als lokale Instanz eingerichtet werden.)

Knoten
quelle
-1

Bei der Suche über INTERNET habe ich die Gründe für Ihre Frage unter folgendem Link gefunden: http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html

Es ist nur Krieg, um versehentliche Fehler oder unbeabsichtigte Dinge zu vermeiden.

Neotam
quelle
1
Willkommen bei Server Fault! Im Allgemeinen möchten wir, dass Antworten auf der Website für sich alleine stehen - Links sind großartig, aber wenn dieser Link jemals unterbrochen wird, sollte die Antwort genügend Informationen enthalten, um dennoch hilfreich zu sein. Bitte bearbeiten Sie Ihre Antwort, um weitere Details zu erhalten. Weitere Informationen finden Sie in den FAQ .
Slm