[gelöst] WLan aktivieren ohne root-PWD-Abfrage

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
TomL

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von TomL » 27.07.2015 20:42:31

Moin
habakug hat geschrieben: Du wolltest doch eigentlich, dass der User Netzwerkgeräte ein- und ausschalten darf.
Ja, das war ja schon mit Deiner Antwort im zweiten Posting gelöst.... und das funktionier alles prima. Es ist ja auch gar nicht das Problem einen zusätzlichen Knopf zu installieren, der irgendwas macht, z.B. WLAN deaktivieren oder so..... aber imho ist das gar nicht notwendig, das WLAN vor dem shutdown zu deaktivieren. Und wenn man es trotzdem wollte, sieht die vollständige Job-Kette eines solchen Knopfes m.E. so aus:

1. umount -a -f
2. nmcli device disconnect wlan0
3. shutdown -h now

Aber ich denke, auf Punkt 2 könnte man eigentlich auch verzichten.... 'umount' zuerst, dann direkt 'shutdown'. Den "Disconnect wlan0" übernimmt dann ganz sicher systemd beim poweroff. Das Problem liegt jetzt bei Punkt 1. Jeder Job, egal von wem aufgerufen (systemd, network-dispatcher oder Knopf), scheitert an diesem Punkt ... denn der Anwender ist schlichtweg nicht dazu berechtigt. Und damit läuft der shutdown nicht mehr sauber ab. Entweder gibt der Anwender das root-PWD ein, dann klappt es mit dem umount und der shutdown läuft. Oder er machts nicht (weil er es nicht kennt) und der shutdown hängt mit den Messages "stop-job *irgendwas* 120 seconds" und "Cifs VFS *irgendwas* reconnect 120 seconds" .

Ich suche jetzt ne Lösung, wie ich den Anwender mit vorhandenen (!) Bordmitteln zum umount berechtigen kann (ohne sudo zu installieren), damit der wlan0-Disconnect beim shutdown kein Chaos wegen der vorhandenen mounts auslöst.
Das geht jetzt und du brauchst dich um die Rechte beim unmounten nicht zu sorgen.
Genau das ist das einzige Problem.... denn der Anwender ist nicht zum umount berechtigt. .... :? .... moment mal.... jetzt gerade beim Schreiben macht da was "click"..... nmcli device disconnect wlan0 wird vom User aufgerufen. Und der dadurch ausgelöste Dispatcher-Job dann mit root-rechten? ... :roll: ... dann wäre das ja wirklich die Lösung.... sofern der disconnect dann nicht sofort wieder persistent wäre. Das probiere ich morgen.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von habakug » 27.07.2015 23:09:03

Hallo!
Und der dadurch ausgelöste Dispatcher-Job dann mit root-rechten?
Ich hatte oben ausdrücklich erklärt, dass die Skripte root gehören müssen. Alles was drin steht wird also mir root-Rechten ausgeführt.

Code: Alles auswählen

Jul 27 22:50:43 debian NetworkManager[483]: <info> (wlan0): device state change: activated -> deactivating (reason 'user-requested') [100 110 39]
Jul 27 22:50:43 debian nm-dispatcher[2244]: Dispatching action 'pre-down' for wlan0
Jul 27 22:50:43 debian nm-dispatcher[2244]: This is your Captain speaking.
Jul 27 22:50:43 debian NetworkManager[483]: <info> (wlan0): device state change: deactivating -> disconnected (reason 'user-requested') [110 30 39]
Jul 27 22:50:43 debian NetworkManager[483]: <info> (wlan0): deactivating device (reason 'user-requested') [39]
Jul 27 22:50:43 debian NetworkManager[483]: <info> (wlan0): canceled DHCP transaction, DHCP client pid 2232
Das pre-down-Skript wird, wie man sieht, vor dem Disconnect ausgeführt.
Ein Standard Debian kann vom User übrigens mit einem systemctl poweroff heruntergefahren werden. Hängt man ein "-i" dran, kann man sogar den über SSH angemeldeten root rauswerfen ;-)

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

TomL

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von TomL » 28.07.2015 20:22:11

Moin
habakug hat geschrieben: Ich hatte oben ausdrücklich erklärt, dass die Skripte root gehören müssen. Alles was drin steht wird also mir root-Rechten ausgeführt.
Wenn ich das Rechte-System nicht völlig falsch verstanden habe, müsste es doch eigentlich völlig irrelevant sein, wem ein Script gehört. Wichtig ist nur, wem der Besitzer erlaubt, es ausführen zu dürfen: nur er selber, seiner Gruppe, oder allen. Das es alle ausführen dürfen sagen ja hier in dem Beispiel die Rechte "0755" und "ausführbar". Und derjenige, der es dann ausführt, tut das mit seinen Rechten, ganz egal, ob ihm das Script gehört oder nicht. Also, ob das Script root gehört oder nicht, ist m.E. egal, wichtig ist nur der Effekt, wenn root es ausführt, dann tut er es mit root-rechten und nicht mit den Rechten des Besitzers. Ebenso kann ja ein User ein Script ausführen, dessen Eigentümer root ist, wenn root die Ausführung mit dem Recht "0755" "allen" erlaubt. Führt der User es dann aus, tut er das allerdings nur mit seinen eingeschränkten Rechten. Ist das jetzt falsch?

Aber die Lösung ist gefunden. Es funktioniert ... :D ... richtig gut... zwar jetzt etwas anders, als von Dir vorgeschlagen, aber Du hast definitiv den Karren in die richtige Richtung auf die Strasse gestellt :THX: Danke! Ich werde etwas später hier noch mal die ganze Lösung anhängen.... vielleicht ist das ja für den einen oder anderen auch noch interessant. Für mich war dabei jetzt wichtig, dass ich ein Customizing bekomme, welches bei uns auf mehreren Laptops, Notebooks, Desktops und mehreren Raspberry Pi's ohne Anpassungen läuft und dabei unterschiedliche systemspezifische Fehler umgeht oder löst. Ich denke mal, das ist gelungen.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von JTH » 28.07.2015 21:04:44

TomL hat geschrieben:Wenn ich das Rechte-System nicht völlig falsch verstanden habe, müsste es doch eigentlich völlig irrelevant sein, wem ein Script gehört.
Für das Ausführen an sich ist es egal, wem das Skript gehört. Es stellt aber durchaus ein Sicherheitsrisiko dar, wenn ein Skript, das später mit root-Rechten ausgeführt wird, einem beliebigen Benutzer gehört – und von diesem verändert werden kann.
Manchmal bekannt als Just (another) Terminal Hacker.

TomL

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von TomL » 28.07.2015 23:44:50

JTH hat geschrieben:
TomL hat geschrieben:Wenn ich das Rechte-System nicht völlig falsch verstanden habe, müsste es doch eigentlich völlig irrelevant sein, wem ein Script gehört.
Für das Ausführen an sich ist es egal, wem das Skript gehört. Es stellt aber durchaus ein Sicherheitsrisiko dar, wenn ein Skript, das später mit root-Rechten ausgeführt wird, einem beliebigen Benutzer gehört – und von diesem verändert werden kann.
Ja, ich weiss, du hast natürlich Recht. Aber in diesem Fall sind es sowieso immer meine Scripte, die ich selber erstellt habe und die ich selber pflege. Manchmal ändere ich sie mit nano an Ort und Stelle, danach gehören sie im Regelfall root. Manchmal schreibe ich sie aber auch mit Kate in meinem Script-Dir und kopiere sie danach an Ort und Stelle, dann gehören sie halt mir. Und ich sehe da gerade keinen großen Unterschied beim Recht 0755, da sowieso nur der Besitzer ein Änderungsrecht hat und "others" bei beiden Besitzern das Lese- und Ausführenrecht haben.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von habakug » 29.07.2015 06:21:31

Hallo!

Der Vollständigkeit halber hier [1] der Bug-Report (Gnome) und die Begründung (?) warum die Skripte nicht ausgeführt werden:
Thomas Haller hat geschrieben:When NetworkManager is stopped, it leaves the connections up. It does that on purpose, for example not do break connectivity during restart or NetworkManager.

Since it doesn't down the connection, the dispatcher scripts don't run either. That seams correct to me.
[...]
Leaving the connection up, allows non-destructive restart of NetworkManager.
Da mag es auch andere Meinungen geben, das muss man aber erst mal so hinnehmen.

Gruss, habakug

[1] https://bugzilla.gnome.org/show_bug.cgi?id=701242
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

TomL

Re: WLan aktivieren ohne root-PWD-Abfrage

Beitrag von TomL » 29.07.2015 21:11:33

@habakug

Ich muss da wohl mal jetzt gaaaanz kleine Brötchen backen....... :hail: :hail: :hail: ... dieser verdammte Networkmanager bootet das Dispatcher-Script doch tatsächlich nur, wenn root der Besitzer ist. Ich war völlig baff, als ich gerade am Laptop meiner Frau bemerkt habe, dass der Job nicht gestartet wird. Ich habe natürlich alles mögliche an Fehlern gesucht und untersucht und nach ner halben Stunde auch mal den Besitz kontrolliert.... verdorri nochma.... das gibts doch gar nicht... gibts aber leider doch.... so kann man sich täuschen. :?

Antworten