k4p5 meistens Metadata

Tmux unter Systemd 2.3.0

Seit einem Update funktionierte der Screen-Ersatz Tmux auf meinem Debian-Server nicht mehr wie gewohnt. Konnte man bislang eine bereits laufende Sitzung (detached) mittels tmux attach auch dann wieder aufrufen, wenn man sich zwischenzeitlich einmal ausgeloggt hatte, war das nun nicht mehr möglich. Die vom Terminal losgelöste Sitzung war einfach nicht mehr da - das Betriebssystem hatte sie offenbar eigenmächtig beim Abmelden beendet.

Wie sich herausstellte, handelt es sich dabei um eine gewolltes Verhalten von Systemd, der auf meine Debian/testing läuft. Die besonders für Server und Administratoren unpraktische Vorgabe lässt sich jedoch abschalten: Dazu muss man die Datei /etc/systemd/login.conf editieren und die Variable KillUserProcesses=no setzen. Spätestens nach einem Neustart bleibt eine laufende Tmux-Sitzung nun wieder erhalten und lässt sich beim nächsten Login mit tmux attach wie gewohnt aufrufen.

 

 

Neue Benutzer auf Debian gekonnt anlegen

Will man auf einem Linux-Server neue Nutzer-Accounts anlegen, nutzt man die Konsolen-Tools der jeweiligen Distribution. Auf einem Debian-System nennt sich das Programm adduser. Es lässt sich über Optionen und die Konfigurationsdatei /etc/adduser.conf auf den jeweiligen Bedürfnisse anpassen:


Soll ein neuer Benutzern auch zu bereits vorhandenen Nutzergruppen gehören, gibt man diese Gruppen über die Variable EXTRA_GROUPS vor:

EXTRA_GROUPS="user sudo"


Ruft man nun den Befehl adduser neuuser --add_extra_groups auf, legt das Kommando einen den Nutzer neuuser an und fügt ihn den Gruppen user und sudo hinzu. Will man sich auch die zusätzliche Befehlsoption --add_extra_groups sparen, setzt man in der Konfigurationsdatei zusätzlich ADD_EXTRA_GROUPS auf einen Wert ungleich 0.


Automatik, Skript gesteuert

Beim Anlegen neuer Nutzer lässt sich aber noch mehr einstellen: Das Tool und sein Pedant deluser führen auch ein Script aus, falls man es in /usr/local/sbin unter dem Namen adduser.local respektive deluser.local ablegt und mit dem Executable-Bit (chmod +x adduser.local) versieht. Die beiden Befehle übergeben dem Skript jeweils vier Parameter: Den Usernamen, die dazu gehörende UID und die GID der primären Nutzergruppe sowie sein Home-Verzeichnis, die sich im Skript in den Variablen $1 bis $4 wiederfinden.


Da Debian in der aktuellen Ausgabe Jessie inzwischen auf das sichere Authentifizieren per SSH-Key setzt, kann man mit diesem Skript etwa gleich beim Anlegen neuer Nutzer dessen öffentlichen SSH-Key im Home-Verzeichnis ablegen:

#!/bin/bash
#
# Wird nach dem Erstellen ausgeführt:
# Wenn die Datei /usr/local/sbin/adduser.local existiert, 
# wird sie nach der Einrichtung des Benutzerkontos ausgeführt, um
# lokale Einstellungen vorzunehmen. An adduser.local werden die
# folgenden Argumente übergeben:
# Benutzername, UID, GID und Home-Verzeichnis.
USERNAME=$1
USERID=$2
GROUPID=$3
HOME=$4
# create a .ssh-configfolder
mkdir -p ${HOME}/.ssh
chown $USERID:$GROUPID ${HOME}/.ssh
# read ssh-pubkey from stdin
echo "Bitte gibt den SSH-Public-Key des Nutzers ein (Copy&Paste)."
read PUBKEY
echo "$PUBKEY" > ${HOME}/.ssh/authorized_keys
chown $USERID:$GROUPID ${HOME}/.ssh/authorized_keys
chmod 600 ${HOME}/.ssh/authorized_keys
echo "Der Schlüssel wurde gespeichert, der Nutzer $USERNAME sollte sich
nun per SSH anmelden können."


Dieses Skript ist nur als Beispiel gedacht und kann frei modifiziert werden. Viele weitere Anpassungen und Details finden sich in der Manualpage der Kommandos.

Home