cat /proc/mdstst
mdadm -D /dev/md1
smartctl -a /dev/sda
ip route list
ip r
ip route delete default
ip route add default via 10.255.255.253 dev eno1
samba-ad-dc
neu starten
bash
-Komplettierung einschalten
find . -type f -printf '%T+ %p\n' | sort -r | head -n 10
find . -mtime -1 -exec ls -lahs -d {} \; | less
tree /schnack -sh –sort=size
(Größe anzeigen, lesbar, sortiert nach Größe)date –iso-8601
für Datierung von Dateien (touch a-`date –iso-8601`-b.txt
)ip a
–> Adressen aller Interfaceslshw
–> 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
ufw
: Server Guidebyobu
statt tmux
nethogs
–> Bandbreitenmessungnload
–> als Graph :)iptraf
–> ALLES! (Konfiguration DNS und Dienst ändern)du -kh –max-depth=1
du mit Summe der ersten Verzeichnisseentr
→ überwacht Dateien und führt Programme aus (siehe man für Beispiele)nmtui
→ NetworkManager TUI-Tool (CLI)chkservice
→ systemd-TUI-Managersystemctl 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 Rebootjournalctl -b -p err
seit [b
]oot mit [p
]riotity [err
]orjournalctl -k
nur [k
]ernel messagessystemctl status schnack
Statusjournalctl -b -u schnack
nur den Status der [u
]nit schnack seit bootlogger -p local1.err „Hallo Welt!“
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ächejournalctl --since yesterday
nur seit gestern (mit p
sehr nützlich)–no-pager
kein less verwendenjournalctl -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)#!/bin/bash base_dir="/home/ivo/test" year=`date +"%y"` month=`date +"%m"` day=`date +"%d"` target="${base_dir}/${year}/${month}/${day}" if [ ! -d "${target}" ]; then mkdir -p "${target}"; fi cp -a /tmp/schnack ${target} || logger "xxx backup Mist ..." && logger "vvv Backup done ..."
~/.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
^a + z
maximize/unmaximize paned
um Anzeige umzustellenip 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
rg String Verzeichnis
rg –help
/etc/sudoers.d/ivo
:Cmnd_Alias ADMINISTRATION = /usr/bin/apt-get, /usr/bin/dpkg, /bin/systemctl, /bin/journalctl ivo ALL = NOPASSWD: ADMINISTRATION
06400
seinsudo
trotzdem notwendig aber ohne PWmenu: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
man pdmenurc
mailutils
installieren für /usr/bin/mail
# /etc/ssmtp/revaliases root:ivo@ivo-s.de:v033xxx.kasserver.com:465 ivo:ivo@ivo-s.de:v033xxx.kasserver.com:465
# # 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
knockd
[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
# /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"
ufw enable
)# /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
knock -v 10.0.0.1 && ssh ivo@10.0.0.1
curl -s ipinfo.io/ip > ip.txt && curl -s -T ip.txt ftp://xyz.de –user benutzer_name:passwort
-s
: silentsudo x11vnc -storepasswd KENNWORT /etc/x11vnc.pass
# /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
apt install attr
für setattr/getattr
rsync
mit -X
und -A
und natürlich mit -a
:)rsnapshot.conf
: rsync_short_args<TAB>-aAX
tar
mit --xattrs
und --acls