rpmbuild nur als root ausführen?

andi_k

New Member
Hallo,
ich möchte ein rpm spec file für NAGIOS-Plugins ausführen.
Laut Dokumentation von rpmbuild sollte rpmbuild nicht als root ausgeführt werden.

Im spec file ist auch eine Sektion %files definiert, in der Permissions definiert sind (%defattr (755, nagios, nagios)).
Code:
%files plugin
%defattr(755,%{nsusr},%{nsgrp})
%{_libexecdir}
%defattr(644,%{nsusr},%{nsgrp})

rpmbuild versucht nun, die gebauten Files mit den entsprechenden Permissions auszustatten, was aber nicht funktionert, weil die gebauten files nur die Permissions 0600 haben. Als Nicht-root User kann ich allerdings die Permissions auch nicht ändern.
Dadurch bekomme ich folgende Fehlermeldung:
Code:
make[2]: Entering directory `/usr/src/rpmbuild/BUILD/nrpe-2.15/src'
/usr/bin/install -c -m 775 -o nagios -g nagios -d /var/tmp/nrpe-buildroot/usr/lib/nagios/plugins
/usr/bin/install -c -m 775 -o nagios -g nagios check_nrpe /var/tmp/nrpe-buildroot/usr/lib/nagios/plugins
/usr/bin/install: cannot change ownership of `/var/tmp/nrpe-buildroot/usr/lib/nagios/plugins/check_nrpe': Operation not permitted
m

Hat da jemand eine Idee - außer rpmbuild als root auszuführen ?
 
Ich denke für die Installation sollte es schon notwendig sein, es als root per sudo oder einem anderen priviligiertem Benutzer auszuführen.
 
Eigentlich nicht.

Für die installation muss nur der User, mit dessen Permissions installiert werden soll, existieren. Das ist in der Section %pre auch so definiert. Wenn der entsprechende User nicht existiert, soll er erzeugt werden.

Bitte nicht das Bauen des RPM Packages mit der Installation des Packages verwechseln.

Für die Installation muss mit root ausgeführt werden um den entsprechenden user erzeugen zu können.

Das Bauen des RPM Packages sollte allerdings nicht mir root erfolgen - entsprechend einer Empfehlung der rpmbuild Dokumentation.
 
Hat da jemand eine Idee - außer rpmbuild als root auszuführen ?
Das specfile fixen. Dein Problem liegt bei install - das sollte aber noch nicht mit dem target-user passieren, da es gerade um die Install für das Packagen geht. Das ist noch nicht das Packagen. Für die files-Sektion ist es also noch etwas zu früh. Um dazu mehr zu sagen, musst du mal das ganze specfile vorzeigen.

PS: Specfiles, die nicht als root gebaut werden können, sind fehlerhaft.
 
Last edited by a moderator:
Back
Top