ubuntuusers.de

Auch Benutzern erlauben Updates zu installieren

Status: Gelöst | Ubuntu-Version: Xubuntu 10.04 (Lucid Lynx)
Antworten |

Chickenmarkus

Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Hallo!

Das Thema ist gerade grenzwertig zwischen "System einrichten und verwalten" und "Ubuntu installieren und aktualisieren". Gegebenenfalls also bitte verschieben.

Ich bin z.Z. dabei ein System einzurichten, dass für zwei Otto-Normal-Verwender gedacht ist. Ich selbst bin da eigentlich nie dran und hätte auch nur sehr selten die Möglichkeit dazu, da ich einfach woanders wohne. Dennoch möchte ich ihnen nicht die Updates verwehren.

Mir ist bekannt, dass das einige als extremes Risiko bzgl. der Systemstabilität finden, aber ich selbst installiere nun schon seit fast 3 Jahren generell alle Updates und hatte damit noch nie Probleme.

Zwar kann man unter Anwendungen-->System-->Software-Paketquellen-->Aktualisierungen sicherheitsrelevante Updates automatisch installieren lassen, aber a) bin ich gegen heimliche Aktionen im Hintergrund und b) fehlen da die ganzen empfohlenen, durchaus sinnvollen, Updates.

Wie kann ich also einstellen, dass meine normalen Benutzer auch durch den update-notifier auf neue Updates hingewiesen werden und diese dann auch alle mittels des update-managers installieren dürfen?

Tschüss Markus

Antiqua Team-Icon

Avatar von Antiqua

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 4534

sudo/Konfiguration schon gelesen?

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Antiqua schrieb:

sudo/Konfiguration schon gelesen?

'türlich!
Ist auch bzgl. des Mounten einzelner Partition und Co. reichlich in Gebrauch.

Um damit aber die Updates hinzukriegen, ist der update-manager viel zu undurchsichtig. Gebe ich nur für /usr/bin/update-manager root-Rechte, funktioniert das immer noch nicht. Ich finde aber auch nirgendwo im Internet, auf was der alles zugreift (z.B. apt-get update o.ä.?), wofür noch root-Rechte von Nöten wären.

Die zweite Sache zum "Vollständigen Update-Service für einfache Benutzer" ist auch der update-notifier. Möchte ich den allerdings bei einem User starten, bekomme ich die Meldung, dass dieser schon liefe. Dennoch gibt er keine Meldung aus, dass neue Updates verfügbar wären (und die sind, denn in meinem Admin-Account bekomme ich 32 neue...).

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Kann mir hier denn wirklich keiner weiterhelfen? ☹

Erdling

Anmeldungsdatum:
16. Februar 2010

Beiträge: 853

Wohnort: Berlin Weißensee

Hallo!

schau Dir doch mal cron-apt an. Ich benutze das auf einem Rechner, dessen Benutzer lediglich Userrechte hat, also auch nicht zur Sudoer-Liste gehört. Allerdings läuft das Programm auch im Hintergrund also "heimlich" ab.

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Erdling schrieb:

Hallo!

schau Dir doch mal cron-apt an. Ich benutze das auf einem Rechner, dessen Benutzer lediglich Userrechte hat, also auch nicht zur Sudoer-Liste gehört. Allerdings läuft das Programm auch im Hintergrund also "heimlich" ab.

Hallo!

Das ist doch mal etwas handfestes! 👍

Allerdings schreibt das Wiki da dazu:

Das Programm cron-apt hat den Zweck (Sicherheits-)updates automatisch herunterzuladen und auf Wunsch zu installieren. Eine ähnliche Funktionalität bietet auch Synaptic, jedoch wird cron-apt durch Einträge in der crontab gestartet und benötigt keinen angemeldeten Benutzer und/oder eine Passworteingabe vor dem Durchführen der Aktionen.

Werden mit cron-apt alle Updates, die der Update-Manager auch mir als "Admin" anbietet, installiert oder wirklich nur Sicherheitsupdates?
Letzteres kann Synaptic unter Anwendungen-->System-->Software-Paketquellen-->Aktualisierungen-->sicherheitsrelevante Updates automatisch installieren auch alleine.

Allerdings bliebe damit noch die Unannehmlichkeit, dass es das immer heimlich macht (Eine E-Mail über jeden Mist hilft mir dabei nicht. Die Benutzer sollen es wissen.).

Eine Möglichkeit das eben über die schönen Klicki-Bunti-Anwendungen update-notifier und update-manager mittels gezielter root-Rechte zu bewerkstelligen geht wohl nicht?
Was führt der update-manager denn für root-bedürftige Befehle aus?

Erdling

Anmeldungsdatum:
16. Februar 2010

Beiträge: 853

Wohnort: Berlin Weißensee

HalloChickenmarkus,

Werden mit cron-apt alle Updates, die der Update-Manager auch mir als "Admin" anbietet, installiert oder wirklich nur Sicherheitsupdates?

Unter "Karmic" wurden damals nur Sicherheitsupdates installiert. Ob sich das in späteren Versionen von Ubuntu geändert hat, kann ich jetzt nicht sagen. Ich hab cron-apt nur unter "Karmic" benutzt. Selbst wenn sich das nicht geändert hat, ist das ja erstmal nicht so schlimm. Die optionalen Updates kannst Du ja irgendwann, wenn Du mal Zugang zum Rechner hast, einspielen.

Allerdings bliebe damit noch die Unannehmlichkeit, dass es das immer heimlich macht (Eine E-Mail über jeden Mist hilft mir dabei nicht. Die Benutzer sollen es wissen.).

Damit hatte ich nie ein Problem. Im Gegenteil. Die Benutzerin, auf deren Rechner ich das installiert habe, war damals im Umgang mit dem PC eher unerfahren. Wenn der Updatemanager ihr gesagt hätte: Die libsoundso wird aktualisiert, dann waren das nur böhmische Dörfer.

Eine Möglichkeit das eben über die schönen Klicki-Bunti-Anwendungen update-notifier und update-manager mittels gezielter root-Rechte zu bewerkstelligen geht wohl nicht? Was führt der update-manager denn für root-bedürftige Befehle aus?

Ich bin auch noch nicht der Linux-Guru und kann Dir beiden letzten Fragen nicht beantworten. Hoffentlich kommt noch jemand vorbei der das besser weiß. cron-apt könnte aber eine Option für Dich sein, bei mir hatte es jedenfalls gute Dienste getan. Der Wiki-Artikel sieht auf den ersten Blick sehr umfangreich aus. Das Meiste davon brauchst Du aber wahrscheinlich nicht. Du musst cron-apt nur installieren und fertig. Standardmäßig versucht das Programm um vier Uhr Morgens die Updates zu ziehen, läuft der Rechner da nicht, dann wird beim nächsten Rechnerstart durch "anacron" die Aktualisierung durchgeführt. Was will man mehr 😉 ?

Schöne Grüße aus der Lausitz

Edit: Standardmäßig lädt cron-apt die Dateien nur herunter. Du musst in der Datei action.d/3-download den Schalter -d entfernen, dann werden die Updates auch automatisch installiert.

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

cron-apt führt nur apt-get update und apt-get upgrade aus. Dabei werden also auch nur die Sicherheitsupdates (und eventuell ein wenig mehr) installiert. Neue Kernel bleiben dabei auch auf der Strecke, da diese apt-get dist-upgrade benötigen.
Genau diese Automatisierung macht ja aber auch Synaptic schon mit.

Was gibt es für weitere Ideen?
Oder wofür braucht der update-manager Root-Rechte?

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

In mühevoller Kleinarbeit und etwas Glück habe ich jetzt herausgefunden, was der update-manager mit root-Rechten ausführt. Somit können nun alle Benutzer in der Gruppe update durch folgenden Eintrag in der /etc/sudoers Updates über den Update-Manager installieren.

%update ALL=(root) /usr/sbin/synaptic --hide-main-window --non-interactive --parent-window-id* -o Synaptic*closeZvt=true --progress-str Bitte warten Sie*dieser Vorgang kann etwas Zeit in Anspruch nehmen. --finish-str Die Aktualisierung ist abgeschlossen --set-selections-file /tmp/tmp*

Die erste und letzte Wildcard sind dabei für variable Übergabeparameter notwendig. Die mittleren beiden hingegen sind zum umgehen von Syntax- bzw. Interpretationsfehler durch z.B. "::" oder "," nötig.

Mir ist klar, dass ich durch obigen Eintrag ein kleines Hintertürchen öffne. Da Benutzer, denen über diese Methode Updates erlaubt werden, jedoch ersteinmal diese Zeile herausfinden müssen (in sudoers spicken nicht möglich, also auch nur über mühevolle Kleinarbeit oder zufällig diesen Beitrag), und ihnen dann dennoch stark die Hände gebunden sind (das wäre diskussionwürdig...), sollte sich das aber in Grenzen halten.
Da meine Benutzer aber nichtmal mit vollen Root-Rechten in der Lage wären, (vernünftig) damit über die Konsole zu hantieren, habe ich zumindest hier keine Bedenken.

Nun bliebe noch, dass auch mit Hilfe des update-notifier über neue Updates informiert wird. Der Prozess selbst läuft immer bei allen. Aber wie bekomme ich ihn dazu, auch etwas anzuzeigen?

Lookbehind

Avatar von Lookbehind

Anmeldungsdatum:
28. Januar 2010

Beiträge: 1070

Hey, das is gut zu wissen! Derzeit habe ich da zwar kein Anwendungsgebiet für, aber ich könnte evtl schnell in eine Situation kommen, wo ich sowas mal brauchen könnte.

Noch als Tipp (vielleicht hast du ja auch schon dran gedacht): Leg dir zu dem Rechner einen SSH-Zugang. Dann kannst du, sofern wirklich mal Probleme auftreten, von zuhause aus nach dem Rechten sehen. Die Sache lässt sich sehr schön absichern, und ist recht schnell eingerichtet.

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Chickenmarkus schrieb:

Nun bliebe noch, dass auch mit Hilfe des update-notifier über neue Updates informiert wird. Der Prozess selbst läuft immer bei allen. Aber wie bekomme ich ihn dazu, auch etwas anzuzeigen?

Ich habe mich jetzt mal in /usr/lib/update-notifier/, /etc/cron.daily/apt und weiteren umgeschaut. Es sind durchaus noch einige Befehle, die root-Rechte benötigen. Dann ist mir aber aufgefallen, dass die bloße Benachrichtigung nicht an den root-Rechten liegen kann:

  1. Es wird auch ohne Root-Rechte des Benutzers auf Updates geprüft

    1. Als ich mich auf dem entsprechenden PC nach einer Weile wieder eingeloggt habe, kam ohne die mindestens 5 Minuten Verzögerung (5min Standard + Random(30min) {Update (Abschnitt „Benachrichtigung-kurz-nach-dem-Einloggen-erhalten“), Punkt 1}) die Meldung nach vorhanden Aktualisierungen.

    2. Es ist keine Vergabe von Root-Rechten durch Passworteingabe nötig, damit neue Aktualisierungen gefunden werden.

  2. Auf meinen anderen Rechnern kommt die Meldung auch, ohne einer Anwendung durch Passworteingabe Root-Rechte erteilt zu haben.

unmensch

Anmeldungsdatum:
29. Mai 2010

Beiträge: 170

Die erste und letzte Wildcard sind dabei für variable Übergabeparameter notwendig. Die mittleren beiden hingegen sind zum umgehen von Syntax- bzw. Interpretationsfehler durch z.B. "::" oder "," nötig.

Man kann in /etc/sudoers auch Zeichen mit einem Backslash escapen (siehe man sudoers).

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

unmensch schrieb:

Man kann in /etc/sudoers auch Zeichen mit einem Backslash escapen (siehe man sudoers).

Ah, super. War schon froh im Internet etwas zu den "*" gefunden zu haben. Danke! 👍

Werde da zumindest die beiden mittleren Wildcards ersetzen. Zwei müssen aber leider drin bleiben.

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Hallo!

Es hat etwas gedauert, bis ich zum update-notifier kam, da es jetzt fast zwei Wochen keine Updates zum testen gab. Aber jetzt funktioniert alles wie es soll. 👍

Hier nun nochmal alle Schritte zur Übersicht für alle, die vor dem selben Problem stehen (Darf ich das auch ins Wiki schreiben?):



Einfachen Benutzern erlauben Updates zu installieren

Zuerst sucht man sich eine Gruppe aus, der man das Installieren von Updates erlauben möchte.
Hier wird dafür eine neue Gruppe update erstellt und alle Benutzer darin aufgenommen. Für eine generelle Erlaubnis würde sich auch die Gruppe plugdev eignen, in der bei Ubuntu standardmäßig jeder drin ist.

Nun muss den Mitgliedern der Gruppe update noch die Rechte gegeben werden, dass die Aktualisierungsverwaltung (update-manager) den zur Updates-Installation benötigten Befehl ausführen darf.
Dazu wird in einem Terminal über sudo visudo folgende Zeile in der /etc/sudoers hinzugefügt:

%update ALL=(root) /usr/sbin/synaptic --hide-main-window --non-interactive --parent-window-id* -o Synaptic\:\:closeZvt=true --progress-str Bitte warten Sie\, dieser Vorgang kann etwas Zeit in Anspruch nehmen. --finish-str Die Aktualisierung ist abgeschlossen --set-selections-file /tmp/tmp*


Soll auch über die Aktualisierungsbenachrichtigung über neue Updates u.a. im System-Tray benachrichtigt werden, muss dem update-notifier mitgeteilt werden, dass er auch Benutzer, welche nicht in der Gruppe admin sind, darüber informiert.
Hierfür muss er mit einer bestimmten Option gestartet werden. Diese gibt man einfach in der Autostart-Datei mit an.
Dazu öffnet man den Starter /etc/xdg/autostart/update-notifier.desktop (=Aktualisierungsbenachrichtigung) in einem Editor mit Root-Rechten und vervollständigt die "Exec="-Zeile zu

Exec=update-notifier --force


Nach einer kuren Ab- und wieder Anmeldung werden nun alle Benutzer über vorhandene Updates informiert und wer in der Gruppe update bzw. der in sudoers angebenen ist, darf diese auch installieren.



Ich hoffe damit doch einigen helfen zu können.

Tschüss Markus

Chickenmarkus

(Themenstarter)
Avatar von Chickenmarkus

Anmeldungsdatum:
20. Mai 2010

Beiträge: 188

Hallo!

Ich möchte den Thread als zentrale Sammelstelle mal auf den aktuellen Stand bringen. Vor Kurzem habe ich nämlich von 10.04 (Lucid Lynx) auf 12.04 (Precise Pangolin) geupdatet. Hier werden die Rechte beim Update nicht mehr einfach per sudo erteilt, sondern über das PolicyKit.

Um also aktuell normalen Nutzern (hier wieder in einer Gruppe namens update) Updaterechte zu geben, muss die Datei /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla mit Root-Rechten bearbeiten werden. Folgender Abschnitt ist davon für das Aktualisieren bereits installierter Software zuständig:

[Update already installed software]
Identity=unix-group:admin;unix-group:sudo
Action=org.debian.apt.upgrade-packages
ResultActive=yes

Dieser wird wie folgt ergänzt:

[Update already installed software]
Identity=unix-group:admin;unix-group:sudo;unix-group:update
Action=org.debian.apt.upgrade-packages
ResultActive=yes

Möchte man es nur einem einzelnen Nutzer statt einer ganzen Gruppe erlauben, kann man das mit unix-user:NUTZERNAME tun.

Für eine Benachrichtigung mittels des update-notifier hat sich zum alten Vorgehen nichts geändert.

Tschüss Markus

Antworten |