Ich habe ein Setuid-Programm, das dann im Namen des Benutzers cpan als root aufruft. Dies funktioniert für Befehle wie yum, scheitert aber für cpan. Mein Problem ist, dass die Home-Verzeichnisse der Benutzer NFS-gemountete Freigaben sind und die Root-Squash-Option verwenden, so dass Root keinen Zugriff auf das Home-Verzeichnis des Benutzers hat.Kann cpan das .local-Verzeichnis umleiten?
Cpan versucht, ein lokales Verzeichnis im Heim des Benutzers zu erstellen, das aufgrund des Root-Squash fehlschlägt.
Gibt es eine Möglichkeit, cpan so zu konfigurieren, dass es einen anderen Pfad als Grundlage für das Erstellen des Pakets verwendet? Oder gibt es eine Möglichkeit, root als Benutzer-ID des Datensatzes einzurichten, so dass cpan versuchen würde, dort die .local-Datei zu erstellen?
Beispielausgabe:
./cloudSoftware cpan foobar mkdir /home/auto/ts00086/.local: Erlaubnis bei /usr/share/perl5/CPAN/HandleConfig.pm Linie verweigert 589.
konnte ich "HOME = '/ tmp' cpan Net :: foobar", und es funktionierte laufen. Vielen Dank! –