Wie kann ich das Software Center so einrichten, dass Benutzer ohne Rootberechtigung Inhalte von Ubuntu-Repos installieren können, ohne dass sie ihr Kennwort eingeben müssen?
Ich bin mir der Auswirkungen auf die Sicherheit voll bewusst und bin bereit, das Risiko einzugehen. Fedora 12 wird mit so etwas ausgeliefert. (Durch Ändern der PolicyKit-Konfiguration, glaube ich)
Antworten:
Sie können die PolicyKit-Berechtigungen ändern, um den Benutzern den Zugriff auf das von Software Center verwendete aptdaemon-Backend zu ermöglichen.
dpkg --listfiles aptdaemon
zeigt, dass dies/usr/share/polkit-1/actions/org.debian.apt.policy
die Datei ist, die die im aptdaemon-Backend möglichen Aktionen angibt.In dieser Datei geben die
< action id="">
Tags die möglichen Aktionen an. Möglicherweise möchten Sieorg.debian.apt.install-packages
den Benutzern erlauben, neue Pakete aus dem Archiv zu installieren undorg.debian.apt.update-cache
die Paketlisten zu aktualisieren.Hier erfahren Sie, in
man pklocalauthority
welchen Dokumenten lokale Berechtigungen für PolicyKit-Aktionen festgelegt werden. Wenn Sie Folgendes/etc/polkit-1/localauthority/50-local.d/10-allow-users-to-install.pkla
eingeben, kann jeder am lokalen Computer angemeldete Benutzer Pakete installieren, nachdem er sein eigenes Kennwort eingegeben hat (auch wenn er nicht zur Administratorgruppe gehört), und den Paket-Cache aktualisieren, ohne ein Kennwort einzugeben.quelle
/usr/share/polkit-1/actions/org.kubuntu.qaptworker.policy
Identity=*
, um dies zum Laufen zu bringen, angepasst von askubuntu.com/a/123260 . Gibt es auch eine Möglichkeit, mehr Policy Kit-Protokollausgaben in z. B./var/log/auth.log
(oder anderen Protokolldateien) zu erhalten? Ich bekomme nurauthentication fails
Nachrichten, aber keinen Grund, warum es fehlgeschlagen ist ...Ich glaube nicht, dass dies derzeit über die GUI möglich ist, aber das Folgende sollte funktionieren, wenn auch etwas klobig. YMMV.
Fügen Sie die folgende Zeile zu / etc / sudoers hinzu (
sudo visudo
zum Bearbeiten der Datei verwenden):Dann müssen Sie nur noch die spezifischen Benutzer erstellen und der
packageinstallers
Gruppe hinzufügen :Jetzt
jdoe
kann man folgendes machen:und Sie können das Desktop-
software-center
Menüelement für das Software Center so bearbeiten, dass es beim Voranstellen des Befehls mit aufruftgksudo
.Mit PolicyKit können Sie dies möglicherweise ohne sudo tun, aber ich verstehe es derzeit nicht.
quelle
Die Antwort von RAOF gilt nur für Ubuntu. Kubuntu verwendet QAptWorker als Backend (beobachtet für Natty und Oneiric). Um Installationen ohne Rootberechtigung zuzulassen, erstellen Sie
/etc/polkit-1/localauthority/50-local.d/10-allow-non-root-install-packages.pkla
Folgendes:Ich wollte einigen Benutzern ohne Administratorrechte erlauben, Software zu installieren, ohne sudo-Zugriff direkt zu gewähren. Dies wurde erreicht, indem die nächsten Zeilen in beide Konfigurationsgruppen eingefügt wurden:
Wenn es eine Gruppe gibt, der die Berechtigung erteilt werden muss, verwenden Sie
unix-group
anstelle vonunix-user
.quelle
sudo -i
wenn ich noch nicht einmal Zugriff auf/etc/polkit-1/localauthority
(Ubuntu 17.10) habe: "Versucht nicht, das Verzeichnis / etc / polkit-1 / localauthority zu verarbeiten"Wenn Sie nur eine allgemeine Berechtigung benötigen, um die Paketinstallation zuzulassen / zu verbieten, wählen Sie PolicyKit.
Leider hat PolicyKit keine genaue Kontrolle über das zu installierende Paket. Wenn Sie Ihren Benutzern die Erlaubnis geben möchten, nur einen eingeschränkten Satz von Anwendungen zu installieren, sollten Sie so
sudo
etwas wie Softwarechannels verwenden und installieren ...Ich habe auch nach so etwas gesucht, aber da ich nichts gefunden habe, habe ich diese einfache Lösung "softwarechannels" codiert, die hier auf GitHub verfügbar ist
Es ist ein sehr einfaches System, mit dem normale Benutzer (ohne Administratorrechte) 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