Benutzer XXXX existiert nicht – verwende ich Root?

Benutzer XXXX existiert nicht – verwende ich Root?

Im Makefile habe ich den Befehl „install“ wie unten beschrieben verwendet.

Befehl: „install -o 1010 -g 100 -m 0755 -D Pfad“

anstatt den Benutzernamen und den Gruppennamen zu prüfen, möchte ich die UID und die GID prüfen.

Betrachten Sie das folgende Szenario.

Schritt 1:

System 1: Der Benutzer, der der UID 1010 entspricht, ist „XXXX“. Erstellen Sie mit „System 1“ das RPM-Installationsprogramm.

Schritt 2:

System 2: Der Benutzer mit der UID 1010 ist „YYYY“. Während der Installation der RPM-Datei erhalten wir die Warnmeldung „Warnung: Benutzer XXXX existiert nicht – verwende Root“.

In diesem Schritt gehe ich davon aus, dass die UID des angemeldeten Benutzers gleich „1010“ sein sollte, damit das RPM-Installationsprogramm erfolgreich installiert werden kann. Tatsächlich erwartet das RPM-Installationsprogramm jedoch, dass der Benutzername im Installationssystem gleich ist

Antwort1

Nun, auf verschiedenen Rechnern können die UID/OID/GID unterschiedliche Werte haben, es sei denn, Sie verwenden etwas wie LDAP. Selbst dann haben die auf Ihrem System definierten Benutzer ihre eigenen IDs. Es gibt keine Garantie, dass der Benutzer auf einem anderen Rechner vorhanden ist.

Vielleicht sollten Sie Ihren Anwendungsfall näher erläutern?

Antwort2

Verwenden Sie den %filesAbschnitt Ihrer RPM- .specDatei, um den erwarteten Besitz auf dem installierten System festzulegen (System 2 in Ihrer Frage).

Sie können den %preAbschnitt Ihrer RPM- .specDatei auch verwenden, um zu ermitteln, ob die erwarteten Benutzer und Gruppen tatsächlich auf dem installierten System (System 2 in Ihrer Frage) vorhanden sind.

%files
# Set file permissions and ownership

%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error

Weitere Informationen unterrpm.org.

verwandte Informationen