<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.cephalix.eu/index.php?action=history&amp;feed=atom&amp;title=CRANIX_session</id>
	<title>CRANIX session - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cephalix.eu/index.php?action=history&amp;feed=atom&amp;title=CRANIX_session"/>
	<link rel="alternate" type="text/html" href="https://wiki.cephalix.eu/index.php?title=CRANIX_session&amp;action=history"/>
	<updated>2026-05-08T01:57:57Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in CEPHALIX/CRANIX</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.cephalix.eu/index.php?title=CRANIX_session&amp;diff=24&amp;oldid=prev</id>
		<title>Admin: Die Seite wurde neu angelegt: „== CRANIX Session == Auf dem Server wird eine Session für jede Anmeldung an einem Client-Rechner erstellt. Diese Session dient dazu, in der CRANIX-Admin-Oberfläche den angemeldeten Benutzer anzuzeigen bzw. zu entscheiden, in welches Verzeichnis eine ausgeteilte Datei gelangt.  === Programme === Folgende Programme sind notwendig:  ==== pam_session ==== Die Datei /home/profiles/linux/pam_session mit dem Inhalt:  #!/bin/bash  # Copyright (c) 2016 Peter Var…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.cephalix.eu/index.php?title=CRANIX_session&amp;diff=24&amp;oldid=prev"/>
		<updated>2025-01-31T20:56:10Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== CRANIX Session == Auf dem Server wird eine Session für jede Anmeldung an einem Client-Rechner erstellt. Diese Session dient dazu, in der CRANIX-Admin-Oberfläche den angemeldeten Benutzer anzuzeigen bzw. zu entscheiden, in welches Verzeichnis eine ausgeteilte Datei gelangt.  === Programme === Folgende Programme sind notwendig:  ==== pam_session ==== Die Datei /home/profiles/linux/pam_session mit dem Inhalt:  #!/bin/bash  # Copyright (c) 2016 Peter Var…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== CRANIX Session ==&lt;br /&gt;
Auf dem Server wird eine Session für jede Anmeldung an einem Client-Rechner erstellt. Diese Session dient dazu, in der CRANIX-Admin-Oberfläche den angemeldeten Benutzer anzuzeigen bzw. zu entscheiden, in welches Verzeichnis eine ausgeteilte Datei gelangt.&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
Folgende Programme sind notwendig:&lt;br /&gt;
&lt;br /&gt;
==== pam_session ====&lt;br /&gt;
Die Datei /home/profiles/linux/pam_session mit dem Inhalt:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Copyright (c) 2016 Peter Varkoly &amp;lt;peter@varkoly.de&amp;gt; Nürnberg, Germany.  All rights reserved.&lt;br /&gt;
 # edited and supplied with additional systemd script cranix_session@.service by Frank Schütte &amp;lt;fschuett@gymhim.de&amp;gt;&lt;br /&gt;
 if [ &amp;quot;$PAM_USER&amp;quot; = &amp;quot;root&amp;quot; -o &amp;quot;$PAM_USER&amp;quot; = &amp;quot;gast&amp;quot; -o &amp;quot;$PAM_USER&amp;quot; = &amp;quot;sddm&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
        exit 0;&lt;br /&gt;
 fi&lt;br /&gt;
 read p&lt;br /&gt;
 TOKENFILE=TOKEN-$(id -u $PAM_USER)&lt;br /&gt;
 rm -f /tmp/pw&lt;br /&gt;
 #date &amp;gt;&amp;gt; /tmp/pw&lt;br /&gt;
 #set &amp;gt;&amp;gt; /tmp/pw&lt;br /&gt;
 #echo &amp;quot;PAM_USER: $PAM_USER, PAM_TYPE: $PAM_TYPE, PAM_SERVICE: $PAM_SERVICE TOKEN: $TOKENFILE&amp;quot; &amp;gt;&amp;gt; /tmp/pw&lt;br /&gt;
 if [ &amp;quot;$PAM_TYPE&amp;quot; = &amp;quot;auth&amp;quot; ]; then&lt;br /&gt;
 #    echo  curl --insecure -X POST --header &amp;#039;Content-Type: application/x-www-form-urlencoded&amp;#039; --header &amp;#039;Accept: text/plain&amp;#039; -d &amp;quot;username=$PAM_USER&amp;amp;password=$p&amp;quot; &amp;#039;https://admin/api/sessions/login&amp;#039; &amp;gt;&amp;gt;/tmp/pw&lt;br /&gt;
    TOKEN=$( curl --insecure -X POST --header &amp;#039;Content-Type: application/x-www-form-urlencoded&amp;#039; --header &amp;#039;Accept: text/plain&amp;#039; --data-urlencode &amp;quot;username=$PAM_USER&amp;quot; --data-urlencode &amp;quot;password=$p&amp;quot; &amp;#039;https://admin/api/sessions/login&amp;#039; )&lt;br /&gt;
    if [ &amp;quot;$TOKEN&amp;quot;  -a &amp;quot;${TOKEN:0:7}&amp;quot; != &amp;#039;{&amp;quot;code&amp;quot;&amp;#039; ]&lt;br /&gt;
    then&lt;br /&gt;
        echo $TOKEN &amp;gt; /tmp/$TOKENFILE&lt;br /&gt;
        exit 0&lt;br /&gt;
    else&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
 fi&lt;br /&gt;
 if [ &amp;quot;$PAM_TYPE&amp;quot; = &amp;quot;close_session&amp;quot; -a -s /tmp/$TOKENFILE ]; then&lt;br /&gt;
    if [ $PAM_SERVICE = &amp;quot;gdm&amp;quot; -o $PAM_SERVICE = &amp;quot;kdm&amp;quot; -o $PAM_SERVICE = &amp;quot;login&amp;quot; -o $PAM_SERVICE = &amp;quot;xdm&amp;quot; -o $PAM_SERVICE = &amp;quot;sddm&amp;quot; -o $PAM_SERVICE = &amp;quot;cranix_session&amp;quot; ]; then&lt;br /&gt;
        TOKEN=$( cat /tmp/$TOKENFILE )&lt;br /&gt;
        curl --insecure -X DELETE --header &amp;#039;Content-Type: application/x-www-form-urlencoded&amp;#039; --header &amp;quot;Authorization: Bearer $TOKEN&amp;quot; &amp;quot;https://admin/api/sessions/$TOKEN&amp;quot;&lt;br /&gt;
        rm -r /tmp/$TOKENFILE&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
==== cranix_session@.service ====&lt;br /&gt;
Die Datei /usr/lib/systemd/system/cranix_session@.service mit dem Inhalt:&lt;br /&gt;
&lt;br /&gt;
 #  This file is part of systemd.&lt;br /&gt;
 #&lt;br /&gt;
 #  systemd is free software; you can redistribute it and/or modify it&lt;br /&gt;
 #  under the terms of the GNU Lesser General Public License as published by&lt;br /&gt;
 #  the Free Software Foundation; either version 2.1 of the License, or&lt;br /&gt;
 #  (at your option) any later version.&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Notify CRANIX server of user login / logout&lt;br /&gt;
 Before=user@%i.service&lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
 Slice=user-%i.slice&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
 StandardOutput=journal&lt;br /&gt;
 StandardError=syslog&lt;br /&gt;
 SyslogIdentifier=cranix_session&lt;br /&gt;
 ExecStart=/usr/bin/env PAM_USER=%i PAM_SERVICE=cranix_session PAM_TYPE=open_session /home/profiles/linux/pam_session&lt;br /&gt;
 ExecStop=/usr/bin/env PAM_USER=%i PAM_SERVICE=cranix_session PAM_TYPE=close_session /home/profiles/linux/pam_session&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=user@%i.service&lt;br /&gt;
&lt;br /&gt;
=== Anmeldung am Rechner ===&lt;br /&gt;
Bei der Anmeldung wird der Dienst PAM aktiviert, daher muss an entsprechenden Stellen die Datei pam_session ausgeführt werden. Dazu wird an geeigneter Stelle unter /etc/pam.d hinzugefügt:&lt;br /&gt;
&lt;br /&gt;
 session optional        pam_exec.so     /home/profiles/linux/pam_session&lt;br /&gt;
&lt;br /&gt;
und&lt;br /&gt;
&lt;br /&gt;
 auth    required        pam_exec.so expose_authtok /home/profiles/linux/pam_session&lt;br /&gt;
&lt;br /&gt;
Außerdem muss der cranix_service@ aktiviert werden mit:&lt;br /&gt;
&lt;br /&gt;
 systemctl enable cranix_session@&lt;br /&gt;
&lt;br /&gt;
(Vorher muss eventuell ein &lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
ausgeführt werden.)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>