Dies ist eine alte Version des Dokuments!


New Linux Stuff

:td: bash-Komplettierung einschalten

Vortragsfolien

:yt: Video dazu

Quick-Tipps

  • Dateien zuletzt geändert mit komplettem Pfad: find . -mtime -1 -exec ls -lahs -d {} \; | less
  • ncdu du-Replacement (kein deb aber tgz statisch)
  • exa ls-Replacement (kein deb)
  • tree /schnack -sh –sort=size (Größe anzeigen, lesbar, sortiert nach Größe)
    • BESSER: ncdu
  • date –iso-8601 für Datierung von Dateien (touch a-`date –iso-8601`-b.txt)
  • ip a –> Adressen aller Interfaces
  • lshw –> Hardware ausgeben (lshw -class network)
  • lsusb, lsblk, lslocks, lsof bzw. lsof -i/netstat -npl
  • netplan/netplan apply (nach Änderung der Konfiguration)
  • ethtool enp0s3 (Infos zum HW-Interface)
  • ip link set dev enp0s25 up/down
  • Firewall/ufw: Server Guide
  • byobu statt tmux
  • nethogs –> Bandbreitenmessung
  • nload –> als Graph :)
  • iptraf –> ALLES! (Konfiguration DNS und Dienst ändern)
  • du -kh –max-depth=1 du mit Summe der ersten Verzeichnisse

systemd

Allgemeine Infos zu systemd

Logging in systemd

  • systemctl behandelt units (Dienste bzw. Dinge, die von systemd gestartet/gestoppt/verwaltet werden
  • systemctl start|stop|restart|reload schnack.service (auch ohne service)
  • systemctl enable|disable schnack.service (dto.)
  • systemctl list-units|list-unit-files [–all]
  • journalctl -b Logging seit dem letzten Reboot
  • journalctl -b -p err seit [b]oot mit [p]riotity [err]or
    • „emerg“ (0), „alert“ (1), „crit“ (2), „err“ (3), „warning“ (4), „notice“ (5), „info“ (6), „debug“ (7)
  • journalctl -k nur [k]ernel messages
  • systemctl status schnack Status
  • journalctl -b -u schnack nur den Status der [u]nit schnack seit boot
  • Edit unit-Files: siehe Link
  • Event loggen: logger -p local1.err „Hallo Welt!“
  • Nur Fehler anzeigen: journalctl -p err -b [p]riotity [err]or seit [b]oot (siehe man logger → „FACILITIES AND LEVELS“
    • emerg alert crit err warning notice info debug
  • lnav: journalctl mit Oberfläche
  • journalctl --since yesterday nur seit gestern (mit p sehr nützlich)
  • –no-pager kein less verwenden
  • journalctl -f wie tail -f
  • journalctl –disk-usage
  • journalctl –vacuum-size=1G Logfile auf 1GB heruntersetzen (alte Einträge löschen)
  • journalctl –vacuum-time=1years Logifile auf 1 Jahr heruntersetzen (alte Einträge löschen)

BASH-Prompt

  • in ~/.bashrc
  • root werden am besten mit sudo -s, dann bleibt ~ erhalten
# roter Prompt für root
if [ "$LOGNAME" == "root" ]
then
	echo "ROOT! AUFPASSEN!"
	PS1="\[\e[31m\]ROOT\[\e[m\]\[\e[31m\]@\[\e[m\]\[\e[31m\]\h\[\e[m\]\[\e[31m\]:\[\e[m\]\[\e[31m\]\w\[\e[m\]\[\e[31m\]>\[\e[m\] "
else
	echo "NICHT ROOT! ALLES EASY!"
	PS1="\[\e[32m\]\u\[\e[m\]\[\e[32m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]\[\e[32m\]:\[\e[m\]\[\e[32m\]\w\[\e[m\]\[\e[32m\]>\[\e[m\] "
fi

tmux

  • ^a + z maximize/unmaximize pane

mtr

  • My Tracepath
  • d um Anzeige umzustellen

ip

  • ip addr show
  • ip link show
  • ip link set eth0 up|down
  • ip addr add 192.168.0.42/24 broadcast 192.168.0.255 dev eth0
  • ip route show

ripgrep

ranger

sudo

  • /etc/sudoers.d/ivo:
Cmnd_Alias ADMINISTRATION = /usr/bin/apt-get, /usr/bin/dpkg, /bin/systemctl, /bin/journalctl
ivo ALL = NOPASSWD: ADMINISTRATION
  • Datei muss 06400 sein
  • kein Neustart notw.
  • sudo trotzdem notwendig aber ohne PW

pdmenu

datei.in
menu:main:Ivo's Menü
        exec:_systemctl::systemctl
        exec:l_s:truncate:ls -lahs
        show:_Neues Untermenü...::library
        exec:_IP Show:truncate:/sbin/ip addr show
 
menu:library:Schnick Schnack Überschrift?
        exec:top::top
        exec:In welchem Verzeichnis bin ich?:display:pwd
  • Start mit pdmenu -s datei.in
  • man pdmenurc

ssmtp

  • installieren
  • mailutils installieren für /usr/bin/mail
  • Achtung: TSL-Port ist bei all-inkl 465 NICHT 587
revaliases
# /etc/ssmtp/revaliases
root:ivo@ivo-s.de:v033xxx.kasserver.com:465
ivo:ivo@ivo-s.de:v033xxx.kasserver.com:465
ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=ivo
 
# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=v033xxx.kasserver.com
 
# Where will the mail seem to come from?
rewriteDomain=ivo-s.de
 
# The full hostname
hostname=ivo-s.de
UseTLS=YES
 
# ACHTUNG in kasserver nach Benutzer schauen.
# ACHTUNG 8 (ACHT) Ziffern!
AuthUser=v033xxxxx
 
# ACHTUNG!
AuthPass=XXXXXXXXXXXX
 
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
# WICHTIG!
FromLineOverride=NO

port knocking

  • Manual, Achtung! UFW verwenden!
  • install knockd
knockd.conf
[options]
        UseSyslog
 
[SSH]
        sequence        =       7000,8000,9000
        seq_timeout     =       5
        start_command   =       ufw allow from %IP% to any port 22
        tcpflags        =       syn
        cmd_timeout     =       10
        stop_command    =       ufw delete allow from %IP% to any port 22
  • ACHTUNG!! Andere Sequenz verwenden!
knockd
# /etc/default/knockd
 
# control if we start knockd at init or not
# 1 = start
# anything else = don't start
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING
START_KNOCKD=1
 
# command line options
KNOCKD_OPTS="-i enp0s3"
  • service und ufw starten (ufw enable)
knockd.service
# /lib/systemd/system/knockd.service
 
[Unit]
Description=Port-Knock Daemon
After=network.target
Documentation=man:knockd(1)
 
[Service]
EnvironmentFile=-/etc/default/knockd
ExecStart=/usr/sbin/knockd $KNOCKD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
SuccessExitStatus=0 2 15
######################
# Disable if error not writable
# ProtectSystem=full
######################
CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN
  • Linux: knock -v 10.0.0.1 && ssh ivo@10.0.0.1
  • Windows: knock.exe
  • ODER: Bash benutzen!

IP-Adresse auf den Webserver

curl -s ipinfo.io/ip > ip.txt && curl -s -T ip.txt ftp://xyz.de –user benutzer_name:passwort

  • -s: silent

x11vnc

  • installieren
  • sudo x11vnc -storepasswd KENNWORT /etc/x11vnc.pass
  • absichern mit Port-Knocking
knockd.conf
# /etc/knockd.conf
[VNC]
 
	sequence	=	6000,7000,8000
	seq_timeout	=	5
	start_command	=	ufw allow from %IP% to any port 5900
	tcpflags	=	syn
	cmd_timeout	=	10
	stop_command	=	ufw delete allow from %IP% to any port 5900

erweiterte Attribute für samba/DC (rsync und rsnapshot)

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information