Hallo zusammen,
ich möchte bei der Anmeldung von (Domänen-)Benutzern ein Logfile schreiben, das auf einem Netzlaufwerk (smb) eines Windows-Servers liegt.
Zugriffsrechte auf das Netzlaufwerk haben aber aus Sicherheitsgründen die Domänenbenutzer nicht, sondern nur der "Computeraccount" (Trusted Machine Account) des Clients.
Eigentlich lässt sich das schön mit "smbclient -P ..." erledigen, doch auch hier habe ich noch ein Problem.
viewtopic.php?f=9&t=161214
Zum Problem:
"smbclient -P" muss wegen der Authentifizierung am Windows Server meines Wissens als root ausgeführt werden.
Wie starte ich beim Anmelden eines Benutzers ein root-Script, das den Namen des sich anmeldenden Benutzers "kennt".
Systemd user-units scheiden aus, weil sie nicht als root laufen.
Irgendwann bin ich darüber gestolpert, das PAM das kann (Benutzername in der Variablen $USER ?), allerdings finde ich es auch nicht mehr und habe auch keine Idee, welches PAM-Modul das können sollte (PAM-exec?).
Falls jemand andere Möglichkeiten kennt, die Logdatei auf dem Windows-Server zu führen: Immer her damit!
[gelöst] Systemd, PAM? root-Script bei User-Anmeldung
[gelöst] Systemd, PAM? root-Script bei User-Anmeldung
Zuletzt geändert von chmeyer am 26.06.2016 14:59:35, insgesamt 1-mal geändert.
Re: Systemd, PAM? root-Script bei User-Anmeldung
libpam-script ist die Lösung.
Paket installieren, Skripte unter /usr/share/libpam-script/pam_script_ses_open (für Anmeldeskripte) bzw. ...ses_close (für Abmeldeskripte) speichern, fertig.
Falls man die PAM Einstellungen von Hand verwaltet, muss man noch /etc/pam.d/common-session um einen Eintrag am Anfang des "Additional" block ergänzen:
$PAM_USER ist der Name des Benutzers, der sich gerade anmeldet, das Skript läuft bei Systemanmeldungen mit root- Rechten, bei "su" mit den Rechten des vorherigen Benutzers.
Danke trotzdem,
Christian
Paket installieren, Skripte unter /usr/share/libpam-script/pam_script_ses_open (für Anmeldeskripte) bzw. ...ses_close (für Abmeldeskripte) speichern, fertig.
Falls man die PAM Einstellungen von Hand verwaltet, muss man noch /etc/pam.d/common-session um einen Eintrag am Anfang des "Additional" block ergänzen:
Code: Alles auswählen
session optional pam_script.so
Danke trotzdem,
Christian