Programme
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:\
- 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