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)

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)

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information