Hallo,
und Danke für die Infos! Ich habe damit einiges ausprobieren können und seit heute ebenfalls eine Lösung im Einsatz mit:
/usr/bin/nmcli dev wifi connect "SSID" password "Passwort"
Eckdaten:
- Server: LMN_v7.0
- Clients: Linux-Mint-XFCE_20.3, versch. WLAN-Karten
Lösungsansatz:
- Beim Booten des Linux-OS wird die WLAN-Verbindung im network-manager eingetragen - automatisch mit der Bezeichnung der jeweiligen Netzwerkkarte *1)
- Dadurch ist die WLAN-Verbindung bereits beim Login verfügbar
Umsetzung:
- Skript „60_cw.sh“, welches beim Booten eine WLAN-Verbindung in den network-manager einträgt.
Dadurch sollte der Eintrag bei allen Netzwerkkarten-Bezeichnungen funktionieren (2 getestet).
Es sind keine weiteren Anpassungen nötig z.B. bei LINBO *2) - Das Ausführen beim Booten kann man z.B. per Hook-Skript (client-side onBoot) machen oder auch per postsync. Ich verwende übrigens nur noch Hook-Skripte und habe das Skript auf den Client daher kopiert nach: /etc/linuxmuster-linuxclient7/onBoot.d/
Hook scripts · linuxmuster/linuxmuster-linuxclient7 Wiki · GitHub - Aus dem network-manager sind die WLAN-Zugangsdaten nur für Nutzer mit root-Rechten auslesbar (GUI, nmcli device wifi show-password und Dateien getestet) .
- Die WLAN-Zugangsdaten für das Skript werden gesondert hinterlegt und sind auch nur für Nutzer mit root-Rechten auslesbar (getestet).
- Zum Eintragen der WLAN-Zugangsdaten gibt es ein zweites, nur einmal anzuwendendes Skript „cw_SSID_PSK_speichern.sh“
- Beim Erstellen des Images gelangt der WLAN-Eintrag des Image-PCs in die Konfig-Dateien des network-managers unter /etc/NetworkManager/system-connections/. Das ist nicht problematisch, da weitere Verbindungen zum selben Netzwerk einfach parallel angelegt werden.
- Mehr Infos direkt in den Skripten…
*1) Eine alternative Lösung ist, allen versch. Netzwerkkarten nur eine Bezeichnung zuzuweisen, so dass der eine Eintrag im network-manager, den man als linuxadmin macht, für alle passt. (Man könnte evtl. auch beide Lösungen gemeinsam einsetzen.)
*2) Dies hat u.a. @rettich hier beschrieben:
Und hier die Skripte:
1. 60_cw.sh
#!/bin/bash
# client-side onBoot-Skript linuxmuster.net 7.0
# _cw.sh
#
# connect-wifi-Skript um einem Client Zugang zum WLAN zu ermöglichen
#
# Zugehöriges Skript:
# cw_SSID_PSK_speichern.sh
#
# Mehr Infos:
# https://github.com/linuxmuster/linuxmuster-linuxclient7/wiki/Hook-scripts
#
#
# Anleitung:
# Kopieren Sie das Skript nach
# /etc/linuxmuster-linuxclient7/onBoot.d/
#
# und passen Sie die Rechte an z.B. mit:
# sudo chown root:root /etc/linuxmuster-linuxclient7/onBoot.d/dateiname
# sudo chmod 700 /etc/linuxmuster-linuxclient7/onBoot.d/dateiname
#
#
# Linux Mint 20.3 Xfce 64bit
# 2023-08-17
# GPL v3
# Sen
/usr/bin/nmcli dev wifi connect "$(openssl base64 -d -in /usr/local/bin/.cw_ss)" password "$(openssl base64 -d -in /usr/local/bin/.cw_ps)"
exit
2. cw_SSID_PSK_speichern.sh
#!/bin/bash
# Client-root-Skript
# cw_SSID_PSK_speichern.sh
#
# Zugehörig zu Skript:
# _cw.sh
#
# Hinterlegt verschlüsselt ihre WLAN-Anmeldedaten für das connect-wifi-Skript _cw.sh
#
#
# Anleitung:
# Ersetzen Sie unten WLAN-Passwort und WLAN-Name mit ihren Daten,
# machen Sie das Skript ausführbar
# und führen Sie dieses Skript als root im Terminal aus.
# Löschen Sie danach unbedingt das Skript vom Client!
#
#
# Linux Mint 20.3 Xfce 64bit
# 2023-08-17
# GPL v3
# Sen
### Ihre WLAN-Anmeldedaten
PSK="WLAN-Passwort"
SSID="WLAN-Name"
### Programm
sudo echo -n "$SSID" | openssl enc -base64 > /usr/local/bin/.cw_ss && sudo chown root:root /usr/local/bin/.cw_ss && sudo chmod 600 /usr/local/bin/.cw_ss
sudo echo -n "$PSK" | openssl enc -base64 > /usr/local/bin/.cw_ps && sudo chown root:root /usr/local/bin/.cw_ps && sudo chmod 600 /usr/local/bin/.cw_ps
exit
Beste Wünsche!
Stefan