Ich muss Software als nicht privilegierter Benutzer in SuSE bereitstellen, verwalten und ausführen (dh kein Root-Zugriff, ich kann die Paketverwaltung des Systems usw. nicht verwenden).
Was sind meine Optionen?
Ich würde es vorziehen, den Paketmanager (YaST) des Systems wiederzuverwenden, indem ich irgendwie ein separates benutzerlokales Repository einrichte. Die zweitbeste Wahl ist ein separates Paketverwaltungssystem, das benutzerlokale Repositorys unterstützt. Vorzugsweise würde es auch Push-Style-Updates unterstützen (im Gegensatz zu Pull).
linux
package-management
suse
Alex B.
quelle
quelle
Antworten:
Nun, für Gentoo gibt es das Gentoo Prefix- Projekt, mit dem Sie Pakete an einem anderen Ort als / installieren können. Die Paketmanager-Portage von Gentoo ist in Python geschrieben und sehr portabel, sodass Sie problemlos einen neuen Baum für einen Benutzer einrichten können, auf den dieser Benutzer uneingeschränkten Zugriff hat, ohne etwas zu beschädigen.
Zwei Probleme sehe ich:
Sie müssen wahrscheinlich eine Menge Dinge kompilieren oder Binärpakete für Ihre Benutzer auf diese Weise erstellen, und Sie müssen wahrscheinlich eine Menge Dinge zweimal installieren, damit das Präfix-Ding richtig funktioniert (ich denke, es wäre schwierig, Dinge zu erstellen gegen Sie bereits so installierte Pakete)
Sie hätten keinen Push-Service.
Der andere Ansatz, den ich sehe, besteht darin, eine Reihe von tar.gz-Dateien anzubieten, bei denen es sich im Grunde nur um maßgeschneiderte Pakete aus Ihrer Distribution handelt, die gepatcht wurden, um ein anderes Präfix zu verwenden: Nehmen wir an, Sie erstellen in jedem Benutzerverzeichnis ein Verzeichnis "Library" und fügen "~" hinzu / Library / usr / bin "Für den Pfad jedes Benutzers kann ein einfacher Paketmanager erstellt werden, der sich um die Installation kümmert (Sie können sich auch den Pacman von Arch Linux ansehen, da es sich im Grunde nur um .tar.gz-Dateien und Abhängigkeiten handelt.
quelle
Verwenden Sie einen privilegierten Benutzermanager [lizenziert :(], und Sie können Befehle ausführen, die als normaler Benutzer Superbenutzerzugriff benötigen. Alles wird nachverfolgt und überwacht
quelle
Sie können
zypper family command
Ihrem Benutzer alles in zulassen/etc/sudoers file
.quelle
zypper
Befehl wie apt-get in debian oderyum
in redhat-base distro. Sie können also:youruser ALL = NOPASSWD: /usr/sbin/zypper
Dann müssen Sie nicht über Root-Rechte und Ihr Passwort verfügen.