Benutzerverwaltung (User Administration)

User und Gruppen

Auflisten aller registrierten User

sudo cat /etc/passwd

Auflisten aller Gruppen

sudo cat /etc/group

Benutzerkonten hinzufügen (adduser)

Das Hinzufügen neuer Benutzerkonten (neuer User erstellen) ist Aufgabe des Systemadministrators und muss daher mit Administrator-Rechten durchgeführt werden. Neben dem klassischen Weg, dem Hinzufügen der erforderlichen Daten mittels eines Editors in den entsprechenden Dateien, steht unter Debian GNU das Programm

adduser

zur Verfügung.

adduser kennt eine Reihe von Optionen, die in der Manpage beschrieben sind oder, in verkürzter Form, mittels

adduser -h

angezeigt werden. Für den „Hausgebrauch“ ist es ausreichend, das Programm ohne weitere Optionen aufzurufen; adduser verfügt über einen interaktiven Modus, in dem alle notwendigen Angaben erfragt werden.

sushi:~# adduser
Enter a username to add: dd
Adding user dd...
Adding new group dd (1001).
Adding new user dd (1001) with group dd.
Creating home directory /home/dd.
Copying files from /etc/skel
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for dd
Enter the new value, or press return for the default
    Full Name []: Donald Duck
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? (y/n) y

Benutzerkonten löschen (deluser)

Das Entfernen von Benutzerkonten (User löschen) aus dem System ist deutlich einfacher. Hierzu steht das Kommando

deluser

zur Verfügung. Auch dieses Programm kann interaktiv benutzt werden; hier aber ein Beispiel mit der Angabe des Login-Namens auf der Kommandozeile:

sushi:~# deluser dd
Removing user dd...
done.
{code}
Zu beachten ist, dass dabei nicht das Heimatverzeichnis des Benutzers gelöscht wird. Dies bleibt dem Systemadministrator überlassen.
1.1 Gruppe erstellen
{code:txt}
addgroup ~~gruppenname~~
{code}
Alle schon bestehenden Groupen findet man auch unter *cat /etc/group*
1.1 Existierender User einer Existierenden Gruppe hinzufügen
{code:txt}
adduser ~~username gruppe~~

User Passwort ändern unter Ubuntu

Folgendermassen kann man das Passwort eines bestimmten Users ändern:

sudo passwd <username>

z.B.

sudo passwd ralph

Das eigene Passwort ändern man mit einem simplen:

passwd

Passwort für User entfernen (erlaubt Login ohne Passworteingabe unter Ubuntu 18.04)

passwd -d <username>

 

Dualboot System mit Ubuntu und Windows – Zeit nicht korrekt

Auf meinen Dualboot-System ist Ubuntu und Windows installiert.

Die beiden Betriebssysteme interpretieren die Hardware-Clock nicht gleich. Linux interpretiert die Hardware-Clock als UTC. Windows aber als “Local-Time”. Daraus resultiert, dass in dem einen Betriebssystem die Zeit korrekt gesetzt wird und im anderen falsch angezeigt wird.

Ich korrigiere dies, indem ich Ubuntu beibringe die Local-Zime zu verwenden:

  1. Im Bios die HW-Clock auf die aktuelle Local-Zeit einstellen
  2. Dann im Linux die Local-Zeit konfigurieren
    sudo timedatectl set-local-rtc 1

Man könnte dies auch so korrigieren, indem man Windows beibringt, die UTC zu verwenden. Aber umständlicher als die Korrektur über Linux.

Links

https://askubuntu.com/questions/169376/clock-time-is-off-on-dual-boot

test

Ubuntu 18.4: Default Klang-Wiedergabegerät setzen

Mein Ubuntu setzt nach einem Reboot immer das falsche Klang-Wiedergabegerät. Das Default Wiedergabegerät kann folgendermassen gesetzt werden, so dass es auch nach einem Reboot noch gesetzt ist:

Als erstes die vorhandenen Wiedergabegeräte auflisten:

pacmd list-sinks

Dies listet die “Indexe” der Wiedergabegeräte auf. Der mit * markierte Index ist das aktuell als Default gesetzte Wiedergabegerät.

Nun den Index des gewünschten Default Wiedergabegerätes merken (bei mir ist es die “2”) und eintragen in

sudo vi /etc/pulse/default.pa
### Make some devices default
set-default-sink 2

Nach einem Reboot ist das Wiedergabegerät Nr. 2 automatisch gesetzt.

Links

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/DefaultDevice/

WordPress “Nativ-Installation” nach Docker Container umziehen

Nachdem ich nun meine WordPress Docker Container am laufen habe, ist es an der Zeit meine alten WordPress-Installationen umzuziehen. Der Use-Case ist simple:

  • Die WordPress-Installation, welche bisher “nativ” auf www.meinedomäne.ch lief soll nun neu vom neu erstellen Docker-Container beliefert werden.

Das Umziehen einer bestehenden WordPress-Installation war kniffliger als erwartet. Auf diesem Wege hat es dann für mich funktioniert:

  • Als Erstes einen Docker-Container erstellen. Siehe hier. Wichtig war, dass der Container erst ohne die SSL-Erweiterung (inkl. wpinit.sh und apache2vhosts.conf) gestartet wurde.
  • Das so erstellte Image ist nun über http://lokaleIp:port erreichbar.
  • Nun die Installations-Routine von WordPress durchlaufen.
  • Nun auf der WordPress-Installation, welche umgezogen werden soll, das Plugin “All-in-One WP Migration” installieren und damit die WordPress-Export (in ein File) erstellen.
  • Nun wieder auf die Docker-Wordpress Installation wechseln, auch hier das Plugin “All-in-One WP Migration” installieren und anschliessend einen WordPress-Import aus dem erstellten File durchführen.
  • Damit sollte der Umzug schon erledigt sein.
  • Ich habe dann noch das Plugin “SSL Insecure Content Fixer” installiert um sicherzustellen, dass die noch folgende SSL-Aktivierung sicher funktioniert => Das ist evtl. aber gar nicht nötig…
  • Nun Kann die Docker-Instanz gestoppt und wpinit.sh und apache2vhosts.conf im yml-File aktiviert werden. Anschliessend die Docker-Instanz wieder starten:
    docker-compose down
    --- Änderung an yml-File vornehmen (wp-init.sh und apache2-vhosts.conf) ----
    docker-compose up -d

    Damit ist nun auch SSL aktiviert, so dass der Docker-Container über SSL die Seite ausliefert.

Umgebungsvariablen und Alias

Userspezifisch

Aliase und Umgebungsvariablen können spezifisch pro User festgelegt werden. Hierzu verwendet man das ‘.bashrc’ File im eigenen Home-Verzeichnis:

Alias/Umgebungsvariable

vi ~/.bashrc

Neue Zeile

alias ll='ls -l'

einfügen

ll wird nun den Befehl ls -l im Terminal ausführen.

Auf diese Art und Weise können Umgebungsvariablen (z.B. JAVA_HOME) gesetzt werden:

JAVA_HOME=/usr/lib/JDK1.5
export JAVA_HOME

Global

Um globale Aliase und Umgebungsvariablen zu setzen, hat man mehrere Möglichkeiten:

  • /etc/profile
  • /etc/bash.bashrc
  • /etc/environment
  • Wrapper-Skript

 

/etc/profile

Dieses File ist dann der richtige Ort, wenn man von der Console bootet und das GUI (Gnome/KDE) über startx aufruft. Das /etc/profile wird also auch dann gelanden, wenn kein Window-Manager gelanden wird.

/etc/bash.bashrc

Dieses File ist dann der richtige Ort, wenn man direkt per “Login-Manager” grafisch einloggt. Man darf aber nicht vergessen, dass dieses File ignoriert wird, sobald man ein weiteres Terminal (per Alt-F?) öffnet.

/etc/environment

Hier kann man statische Variablen definieren, die für das ganze System von Interesse sind. Als Beispiel werden hier alle Umgebungsvariablen für die Programmiersprache Java definiert, die sowohl für das Ausführen als auch die Entwicklung von Java-Programmen nötig sind. Die Variable PATH kann man auch in

/etc/environment

definieren, sie wird aber in der Regel von der Shell wieder überschrieben. Somit ist es besser, PATH in der Datei

/etc/profile

zu definieren und gegebenenfalls über die benutzerspezifischen Dateien

${HOME}/.bash_profile

(Login-Shell) und

${HOME}/.bashrc

(interaktive Shell) anpassen.

Wrapper-Skript

Es kursiert in der Debian-Welt die Idee, dass Umgebungsvariablen für das Starten eines Programmes nicht nötig sein sollten. Aus diesem Grunde wird oft ein so genanntes Wrapper-Script erstellt, welches die nötigen Variablen setzt und danach das eigentlich gewünschte Programm aufruft. Das kann z.B. folgendermassen aussehen:

#!/bin/sh
export JAVA_HOME=/wo/auch/immer
exec $0.real "$@"

Das speichert man unter dem Namen nachdem das effektive ‘PROGRAMM’ zu ‘PROGRAMM.real’ umbenannt worden ist. Danach noch das execute-Falg setzen:

chmod +x PROGRAMM