Kategorie: Debian

  • Ändern der Zeitzone auf einem Debian System

    Um die Zeitzone auf einem Debian System zu ändern, können Sie die folgenden Schritte ausführen:

    1. Öffnen Sie das Terminal oder eine SSH-Verbindung zum Server.
    2. Überprüfen Sie die aktuelle Zeitzone des Systems mit dem Befehl timedatectl.
    3. Geben Sie den Befehl timedatectl set-timezone gefolgt von der Bezeichnung der neuen Zeitzone ein, um die Zeitzone zu ändern.
    4. Ersetzen Sie „Europe/Berlin“ durch den Namen der gewünschten Zeitzone. Eine Liste aller verfügbaren Zeitzone finden Sie unter /usr/share/zoneinfo/.
    5. Überprüfen Sie erneut die Zeitzone mit dem Befehl „timedatectl", um sicherzustellen, dass die Änderung erfolgreich war.

    Stellen Sie sicher, dass Sie über ausreichende Berechtigungen auf dem System verfügen, um diese Änderungen vorzunehmen

  • MariaDB Root User unter Debian / Ubuntu neu erstellen | Passwort Reset für MariaDB Root User unter Debian / Ubuntu

    Der MariaDB Root User unter einer Debian Installation wurde gelöscht. Daraufhin war kein Root-Zugriff mehr auf die MariaDB Instanz mehr möglich.

    Nach einigen Anleitungen die nicht funktioniert hatten, weil sie sich hauptsächlich auf ältere MySQL Versionen bezogen, wurde ich bei dem folgenden Artikel fündig:

    https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password-on-ubuntu-20-04

    Hier noch einmal die Schritte um einen neuen MariaDB Root User mit allen Rechten zu erstellen:

    Starten des MariaDB Servers im Wartungsmodus ohne Rechteüberprüfung:

    systemctl stop mariadb
    systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
    systemctl start mariadb

    Starten der MariaDB Shell:

    mysql -u root

    Erstellen des neuen MariaDB Root Benutzers auf der MariaDB Shell mit SQL:

    FLUSH PRIVILEGES;
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword!!!';
    GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION;

    Starten des MariaDB Servers im normalen Modus mit Rechteüberprüfung:

    systemctl stop mariadb
    systemctl unset-environment MYSQLD_OPTS
    systemctl start mariadb

    Danach hat man mit dem neuen Root User wieder vollen Zugriff auf die MariaDB Installation.

    Wenn der MariaDB Root User noch existiert und nur das Root Passwort zurückgesetzt werden soll, kann man das natürlich auch mit folgendem SQL Code tun:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

  • Fehler: imap-login: Error: Failed to initialize SSL server context: Can’t load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small – Nach einen Upgrade von Debian 9 auf Debian 10 Buster funktioniert die Anmeldung an dem Dovecot IMAP Server nicht mehr.

    Nach dem Update von Debian Stretch auf Debian Buster, bei dem auch der IMAP Server Dovecot auf die Version 2.3.4.1 aktualisiert wurde, funktioniert die Authentifizierung nicht mehr. Bei Login-Versuchen sieht man in der Logdatei /var/log/dovecot.log folgende Fehlermeldung:

    imap-login: Error: Failed to initialize SSL server context: Can’t load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small

    Bei einer Webrecherche ergaben sich schnell einige Fundstellen zu dem Problem:

    In der Upgradedoku von Dovecot Version v2.2 to v2.3 wird darauf hingewiesen dass man eine neue Einstellung ssl_dh der Dovecot Config hinzufügen muss.


    ssl-parameters.dat file is now obsolete. You should use ssl_dh setting instead: ssl_dh=</etc/dovecot/dh.pem

    Lösungsschritte:

    • Erzeugen einer Datei dh.pem für die Diffie-Hellman Parameter
      • openssl dhparam -out /etc/dovecot/dh.pem 4096
        • Hinweis: Die Ausführung des Befehls kann durchaus mehrere Minuten dauern.
    • Ändern der Dovecot Config
      • Bearbeiten der Datei /etc/dovecot/dovecot.conf
      • Hinzufügen folgender Zeile am Ende der Datei:
        • ssl_dh=</etc/dovecot/dh.pem
    • Neustart des Dovecot Service

    Danach funktionierte die Authentifizierung mit Dovecot wieder wie vorher.

  • Aktivieren des Bash-Completion-Features auf einem Debian-System

    Wenn das Bash-Completion-Feature auf Debian-Systemen richtig funktioniert, kann man z. B. die Dienste beim Service-Kommando mit der Tabulatortaste vervollständigen.

    Beispiel für die Befehlsvervollständigung:

    service ap<Tab>
    service apache2 rel<Tab>
    service apache2 reload

    Wenn auf einem Debian-System die Vervollständigung von Befehlen mittels der Tabulatortaste nicht funktioniert, kann es sein, dass das Paket Bash-Completion nicht installiert ist.

    Um zu überprüfen, ob das Bash-Completion-Paket installiert ist, kann man folgenden Befehl benutzen:

    dpkg -l bash-completion | tail -1

    Die Ausgabe des Befehls sollte dann wie folgt aussehen:

    ii  bash-completion 1:2.0-1 all programmable completion for the bash shell

    Bleibt diese Ausgabe leer, dann ist das Paket Bash-Completion nicht installiert. Es lässt sich mit folgendem Befehl installieren:

    apt-get install bash-completion

    Sollte die Bash-Vervollständigung trotz installiertem Paket Bash-Completion nicht funktionieren, kann es daran liegen, dass das Vervollständigungs-Feature noch nicht aktiviert wurde. Bei Debian kann man diese Funktion in der Datei /etc/bash.bashrc aktivieren. Man muss nur die Kommentarzeichen vor folgenden Zeilen entfernen:

    ###Vorher
    #if ! shopt -oq posix; then
    #  if [ -f /usr/share/bash-completion/bash_completion ]; then
    #    . /usr/share/bash-completion/bash_completion
    #  elif [ -f /etc/bash_completion ]; then
    #    . /etc/bash_completion
    #  fi
    #fi
    
    ###Nachher
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi

    Damit diese Einstellung aktiv wird, muss man sich am System ab- und wieder anmelden.

    Quelle: http://serverfault.com

  • Autocomplete (tab completion) für Service-Kommando unter Debian Linux

    Wenn auf einem Debian-System die Autocomplete-Funktion nur bei Dateien und Verzeichnissen funktioniert und nicht für weitere Befehle, kann es daran liegen, dass das  „bash-completion“-Paket nicht installiert ist.

    Um die Autocomplete-Funktion z. B. auch für das „service“-Kommando verwenden zu können, muss unter Debian das Paket „bash-completion“ installiert sein.

    Installation des „bash-completion“-Pakets:

    apt-get install bash-completion

    Nach der Installation:
    Test der Funktionalität, Eingabe von „service a“ [TAB]:

    # service a
    acpid     anacron   apache2   asterisk  atd

    Nun schlägt die Bash Shell nach der Eingabe von „service a“ und dem Drücken der TAB -Taste alle zur Verfügung stehenden Dienste vor, die mit a beginnen.

  • CPU Last unter Linux monitoren – sar

    Die CPU-Last lässt sich unter Linux ganz einfach mit dem Befehl top ermitteln. Hier erfährt man die gesamte CPU-Last, aber auch den CPU Verbrauch einzelner Prozesse.

    Wenn man die gesamte CPU-Auslastung in bestimmten Zeitintervallen ermitteln möchte, eignet sich der Befehl sar besser.

    Um den Befehl sar benutzen zu können, muss das Programmpaket sysstat installiert sein.

    Der Syntax, um mit dem sar-Befehl die CPU-Last zu monitoren, lautet:

    sar -u 5 100

    5 gibt das Intervall in Sekunden an, in dem die CPU-Last ermittelt werden soll.

    100 gibt die Gesamtanzahl an, wie oft die CPU-Last ermittelt werden soll.

    Die Ausgabe sieht dann folgendermaßen aus:

    14:30:08 CPU %user %nice %system %iowait %idle
    14:31:08 all 16.87 0.00 3.41 5.02 74.70
    14:31:13 all 31.12 0.00 9.44 9.64 49.80
    14:31:18 all 23.85 0.00 6.81 2.61 66.73
    —— snip —-
    Average: all 5.72 0.00 1.14 0.58 92.56

    Unter Debian befindet sich das Programm sar im Paket sysstat.

     apt-get install sysstat

     

  • Aktivieren und Deaktivieren von Apache2 Modulen – a2enmod – a2dismod

    Nachdem ich schon etliche Male die Apache Konfigurationsdatei /etc/sysconfig/apache2 bei Suse von Hand bearbeitet hatte, um Apache2 Module zu aktivieren, ist mir letztens ein Befehl oder, besser gesagt, zwei Befehle untergekommen, die das Ganze automatisieren.

    Dies sind a2enmod um Apache Module zu aktivieren

    und

    a2dismod um Apache Module wieder zu deaktivieren.

    Der Syntax ist denkbar einfach:

    a2enmod MODULNAME aktiviert das Apache2 Modul MODULNAME

    a2dismod MODULNAME deaktiviert das Apache2 Modul MODULNAME

    Weiterhin listet der Befehl a2enmod -l alle aktivierten Apache2 Module auf.

    Beispiel:

    a2enmod ssl aktiviert das ssl Modul.

    a2dismod ssl deaktiviert das ssl Modul.

    Nachtrag 06/2011:

    Apache Modulhandling unter Debian 6

    a2enmod -l funktioniert unter Debian nicht. Eine Liste mit den aktivierten Apache modulen erhält man mit:
    ls -l /etc/apache2/mods-enabled/

    Eine Liste mit den zur Verfügung stehenden Modulen erhält man mit:
    ls -l /etc/apache2/mods-available/

    Eine weitere Möglichkeit sich alle geladenen Module anzuzeigen ist der Befehl
    apachectl -M
    (-M  Dump a list of loaded Static and Shared Modules.)

    apachectl -M
    Loaded Modules:
     core_module (static)
     log_config_module (static)
     logio_module (static)
     version_module (static)
     mpm_prefork_module (static)
     http_module (static)
     so_module (static)
     alias_module (shared)
     auth_basic_module (shared)
     authn_file_module (shared)
     ....
    Syntax OK

    Weitere Infos: Apache Modulverwaltung unter Debian