Programme

SQL

SQL

MariaDB bzw. MySQL Root-Passwort zurücksetzen

Bind

Bind ist der DNS-Server unter Linux. Hier nun die Basis-Einrichtung.

Installation

Bind kann mit folgenden Befehlen installiert werden:

sudo apt-get update
sudo apt-get install bind9

Zone

Nach dem Bind installiert ist, kann man die erste Zone anlegen. Eine Zone besteht aus zwei Dateien. <note warning>Die Domainnamen MÜSSEN immer mit einem Punkt abgeschlossen werden!</note>

Domainnamen

Die erste Datei beinhalte die Umwandlung von Domainnamen zu einer IP-Adresse. Am besten nutze man die Vorhandene Blanko-Datei.

sudo cp /etc/bind/db.empty /etc/bind/db.holzfeind.ch

Im nächsten Schritt muss die Datei den eigenen Bedürfnissen angepasst werden, hier nun ein Beispiel:

; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL    86400
@   IN  SOA htpc.holzfeind.ch. root.localhost. (
                  1     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
              86400 )   ; Negative Cache TTL
;
@   IN  NS  dns.holzfeind.ch.

htpc                            IN      A       172.16.10.5
dns                             IN      A       172.16.10.5
vm                              IN      A       172.16.10.6
fw                              IN      A       172.16.10.1
sw                              IN      A       172.16.10.7

Revers

Als nächster Schritt wird die Revers-Datei erstllt, diese dient der Umwandlung von IP-Adressen in Domainnamen. Am besten nutze man die Vorhandene Blanko-Datei.

sudo cp /etc/bind/db.empty /etc/bind/db.10.16.172

oder die zuvor erstellt Domainnamen-Datei

sudo cp /etc/bin/db.holzfeind.ch /etc/bind/db.10.16.172

Auch hier müssen die Daten den eigenen Bedürfnissen angepasst werden. Hier nun ein entsprechendes Beispiel:

; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL    86400
@   IN  SOA htpc.holzfeind.ch. root.localhost. (
                  1     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
              86400 )   ; Negative Cache TTL
;
@   IN  NS  dns.holzfeind.ch.

1       IN      PTR     fw.holzfeind.ch.
5       IN      PTR     dns.holzfeind.ch.
5       IN      PTR     htpc.holzfeind.ch.
6       IN      PTR     vm.holzfeind.ch.
7       IN      PTR     sw.holzfeind.ch.

Abschluss

Zum Abschluss müssen die zwei Zonen-Dateien noch dem DNS-Server bekannt gemacht werden, hier für erweitert man die Datei /etc/bind/named.conf.local um folgende Einträge:

zone "holzfeind.ch" {
    type master;
    file "/etc/bind/db.holzfeind.ch";
    };
zone "10.16.172.in-addr.arpa" {
    type master;
    file "/etc/bind/db.10.16.172";
    };

DNS-Cache

Sobald der DNS-Server läuft, besteht auch die Möglichkeit diesen als DNS-Cache zu konfigurieren. Hier für wird folgendes Vorgehen empfohlen:\

  1. DNS-Root-Server Informationen beziehen und speichern:
dig @A.ROOT-SERVERS.NET > /etc/bind/db.root

2. DNS-Root-Server-Eintrag erstellen (zum Teil auch schon vorhanden, /etc/bind/named.conf.default-zones).

zone "." {
    type hint;
    file "/etc/bind/db.root";
};

3. Update-Script erstellen (Pfad: /etc/cron.weekly/

#! /bin/bash
#
# Aktualisierung der db.root
#

# Aktuelle Liste generieren
dig @A.ROOT-SERVERS.NET > /etc/bind/db.root

# Konfiguration Laden
/usr/sbin/service bind9 reload

4. Script ausführbar machen.

chmod +x /etc/cron.weekly/bind-root-update.sh

5. Bind neustarten

service bind9 restart

Anfrage loggen

Um die Auflösung der Adressen zu loggen kann folgende Einstellung vorgenommen werden:

rndc querylog

Die Daten werden anschliessen in die Datei /var/log/syslog oder /var/log/message geschrieben.

SSH

SSH ist ein Protokoll zur sicheren Komunikation mit Netzerkkomponenten. Alle Ihr Vorgestellten Vorgehen gelten nur für Linux-Clients und Unix-Server. Als Alternatvie kann man das Programm "putty" nutzen, dies ist auf den drei grossen OS erhältlich.

Client

Verbindung

Um eine Verbindung zu einem SSH-Server herzustellen wird folgender Befehl benötigt:

ssh user@IP.des.Server

bzw. ssh user@Domainname.des.Server

Public Key

Im Normalfall muss man sich nun immer mit dem Benutzerpasswort anmelden, es gibt aber noch eine bequemmer und sichere Anmeldungsmethode, dass Public Key Verfahren. Die Sicherheit kann aber nur der SSH-Server-Betreiben erhöhen. Mit folgendem Befehl werden die entsprechenden Key's generiert:

ssh-keygen -t rsa -b 4096

Und mit folgendem Befehl wird der Public Key Übertragen:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

Nun wird noch einmal das Passwort des Benutzer abgefragt. Wenn dieser Vorgang erfolgreich war, wird man bei der nächsten Verbindung nicht mehr nach dem Passwort gefragt.

SSH-Tunnel

Ein SSH-Tunnel dient dazu Infrastrukturen zu nutzen welche sich beim SSH-Server befinden (MySQL, lokale Webseite usw.) Mit folgendem Befehl wird der SSH-Tunnel aufgebaut:

ssh -D 8080 -f -C -q -N user@Domainname.des.Server

Danach muss die Verbindung nur noch als lokaler SOCKET-Proxy eingetragen werden. Für Firefox kann folgendes Add-On empfohlen werden: Socks Proxy

Optionen

Option Erklärung
-b Fixierung an eine Schnittstelle
-C Komprimieren aller Verbindungsdaten
-D Portfestlegung bei Port-Forwarding / SSH-Tunnel
-N Keine Remotebefehl ausführen (SSH-Tunnel)
-p Abweichender Port angeben (Standard 22)
-q Stille Verbindung
-X X11 Forwarding einschalten

SCP

scp ist ein Kopierprogramm, welches mit SSH gute zusammenabeitet. Die witchigsten Optionen von SSH gelten auch bei scp

Kopieren von Remote-Host

Zum Kopieren einer Datei vom Remote-Host wird folgender Befehl benötigt:

scp gregor@172.16.10.5:/var/log/syslog /home/gregor/Log/syslog_172.16.10.5

Kopieren zum Remote-Host

Zum Kopieren einer Datei zum Remote-Host wird folgender Befehl benötigt:

scp webmin.deb gregor@172.16.10.5:/home/gregor

Snippet

apt-get

Daten aktualisieren

sudo apt-get update
sudo apt update

Update Auflisten

sudo apt list --upgradebale

Updates Installieren

sudo apt-get upgrade
sudo apt upgrade

date

Aktelle Uhrzeit (Stunde:Minute)

date +"%H:%M"
date +"%R"

Aktelle Uhrzeit (Stunde:Minute:Sekunden)

date +"%H:%M:%S"
date +"%T"

Aktuelles Datum

date +"%d.%m.%y"

Aktuelles Datum (Amerikanische Schreibweise)

date +"%m/%d/%y"
date +"%D"

Jahr

kurz

date +"%y"

Vollständig

date +"%Y"

Jahrhundert

date +"%C"

Monat

Kurzform

date +"%b"

Langform

date +"%B"

Tag

Kurzform

date +"%a"

Langform

date +"%A"

Zeitzone

date +"%Z"

Zeitzone Verschiebung

date +"%z"

find

Bestimmte Dateierweiterungen finden

find /home/gregor -name "*.odt"

Ordnern mit bestimmten Namen finden

sudo find / -type d -name "git"

Grosse Dateien finden

sudo find / -size +1000M -ls

Bestimmten Benutzer zugehörig

find /home/gregor -user gregor -name "*.mp4"

Dateien Verschieben

find Downloads/ -name "*.pdf"  -exec mv {} /home/gregor/Dokumente \;

Benutzerrechte ändern

sudo find /var/www/ -type f -exce chmod 644 {} \;
sudo find /var/www/ -type d -exce chmod 770 {} \;

Dateien entpacken

find -name "*.part01.rar" -exec unrar e -pholzfeind.ch {}  \;

Datum anpassen

find -newermt 2018-05-24 -exec touch -t 201705241700 {} \; 

ffmpeg

Nur Videocode auf H264 umwandeln

ffmpeg -i input.mkv -map 0 -c:a copy -c:s copy -c:v libx264 output.mkv

Nur Videocode auf H264 umwandeln und kompriemieren

ffmpeg -i input.mkv -map 0 -c:a copy -c:s copy -c:v libx264 -crf 18 output.mkv

dpkg

Installation

sudo dpkg -i ruckus_ssid.deb

Deinstallation

dpkg -l | grep "ssid"
ii  ssid-ruckus        1.0.1    all automatische ssid generator
dpkg -r ssid-ruckus

tar

neues Archiv erstellen

tar cvf Bilder.tar Bilder/

Archiv entpacken

tar xvf Bilder.tar

komprimiertes Archiv entpacken

tar xvzf Bilder.tar.gz
tar xvjf Bilder.tar.bz2

gz

Datei komprimieren

gzip Bilder.tar

Datei dekomprimieren

gzip -d Bilder.tar.gz

Komprimierung anzeigen

gzip -l Bilder.tar.gz 
         compressed        uncompressed  ratio uncompressed_name
          278835692           296181760   5.9% Bilder.tar

bzip2

Datei komprimieren

bzip2 Bilder.tar

Datei dekomprimieren

bzip2 -d Bilder.tar.bz2

ip

IP-Adresse aller Netzwerkkarten

ip address

IP-Adresse einer bestimmten Schnittstelle

ip address show enp0s25

Routen anzeigen

ip route

Netzwerk anzeigen

ip route | tail -n1 | awk '{print $1}'

Gateway anzeigen

ip route | head -n1 | awk '{print $3}'

wget

Speedtest

wget --report-speed=bits -O /dev/null http://speedtest.belwue.net/10G

Passwort

<code bash> cat /dev/urandom|tr -dc "a-zA-Z0-9_\?" | fold -w16 | head -n $RANDOM | tail -n $RANDOM | tail -n1</code>

curl

Public IP

curl https://ipecho.net/plain
curl ifconfig.me