Ist es möglich, Nicht-Root-Benutzern die systemweite Installation von Paketen mit apt oder rpm zu erlauben?
Der Ort, an dem ich arbeite, ist derzeit auf den Linux-Boxen veraltet, und Administratoren haben es satt, alle Installationen für Benutzer auf Anfrage durchführen zu müssen, sodass sie darüber nachdenken, allen Benutzern die vollständigen Sudo-Rechte zu erteilen. Dies hat offensichtliche Sicherheitsnachteile. Ich frage mich also, ob es eine Möglichkeit gibt, normalen Benutzern zu erlauben, Software zu installieren - und sie zu aktualisieren und zu entfernen.
linux
package-management
sudo
software-installation
naught101
quelle
quelle
apt-secure(8)
sagt: "apt-get warnt derzeit nur vor nicht signierten Archiven, zukünftige Versionen könnten die Überprüfung aller Quellen erzwingen, bevor Pakete von ihnen heruntergeladen werden". Je nachdem, wie komplex ein Angriff ist, kann es möglich sein, die Verbindung zur Repository-Quelle zu hijacken und ein nicht vertrauenswürdiges Paket zu injizieren. Lesen Sie jedoch diese Manpage für weitere Details. Möglicherweise haben Sie eine ausreichend sichere Lösung für Ihr Thread-Modell.Antworten:
Sie können die zulässigen Befehle mit sudo angeben, Sie müssen nicht den uneingeschränkten Zugriff gewähren, z
Dies würde es ermöglichen Benutzernamen laufen
sudo apt-get
undsudo aptitude
ohne Passwort würde aber keine anderen Befehle nicht zulassen.Sie können packagekit auch in Kombination mit PolicyKit verwenden, um eine feinere Kontrolle als sudo zu erzielen .
Das Zulassen, dass Benutzer Pakete installieren / entfernen, kann ein Risiko darstellen. Sie können ein System ziemlich leicht funktionsunfähig machen, indem sie erforderliche Software wie libc6, dpkg, rpm usw. deinstallieren. Durch die Installation von beliebiger Software aus den definierten Archiven können Angreifer veraltete oder ausnutzbare Software installieren und Root-Zugriff erlangen. Die Hauptfrage ist meiner Meinung nach, wie sehr Sie Ihren Mitarbeitern vertrauen.
Natürlich kann Ihr Admin-Team auch ein Konfigurationsmanagementsystem wie Puppet, Chef oder Spacewalk verwenden, um Ihr System zu verwalten. Dies würde es ihnen ermöglichen, das System von einem zentralen System aus zu konfigurieren und zu verwalten.
quelle
aptdcon
Aus den Manpages:
quelle
ERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
quelle
Ich habe auch nach so etwas gesucht, aber es ist nichts aufgetaucht, also habe ich diese einfache Lösung "softwarechannels" codiert:
https://github.com/alfem/softwarechannels
Es ist ein sehr einfaches System, mit dem normale Benutzer (keine Administratoren) Pakete aus eingeschränkten Katalogen installieren können.
Definieren Sie einfach "Kanäle" (Gruppen von Paketen) in einer einfachen Textdatei und erteilen Sie Ihren Benutzern die Berechtigung, Software-Kanäle zu starten.
Sie sehen nur Pakete in Channels, die ihren Unix-Gruppen entsprechen.
quelle