Linux Schnickschnack
User management
Shell ändern
chsh -s /bin/bash morph
Homedir ändern
usermod -m -d /media/backup backupbot
User anlegen mit Homedir
z.B. für FTP / Kunde, der nur in sein Webroot darf
useradd -s /bin/false -d /var/www/kundenname.com/ kundenname
User Homedir ändern
usermod -m -d /neues/homedir username - -m = --move-home
ACHTUNG! Shell ist danach reset!
user löschen
deluser USER && rm -rf /home/USER
ODER, bei gelegenheit testen: deluser -f USER
Unprivilegierten Systemuser anlegen
z.B. so: adduser --system --group --no-create-home --shell /bin/false nats <- cool: --group legt neue Group gleichen Namens an. Ohne es kommen User mit --system nach nogroup.
SSH / SCP
Pfade mit Spaces drin müssen doppelt escapet werden, anders gehts nicht! Also scp user@example.com:"'web/tmp/Master File 18 10 13.xls'" .. Laut Artikel sollte auch scp user@example.com:"web/tmp/Master\ File\ 18\ 10\ 13.xls" . funktionieren, aber das schien bei mir nicht so zu sein.
https://stackoverflow.com/questions/19858176/how-to-escape-spaces-in-path-during-scp-copy-in-linux
Authentication ohne den Key zu fragen
ssh -o PubkeyAuthentication=no user@host.org
easiest keygen
ssh-keygen -t rsa -b 4096 -C "comment here"
port forwarding (zB um IPMI über serial zu öffnen)
ssh -L 9998:10.0.0.26:443 serial.meso.net, dann im browser localhost:9998 öffnen
key fingerprint anzeigen
neues sha256 Format: ssh-keygen -lf ~/.ssh/keyfile.pub
md5 Format, wie zB auf Github: -E md5 hinzufügen
swapfile erstellen
- Leere Datei machen:
dd if=/dev/zero of=/swapfile bs=1M count=2048 - Rechte richten:
chmod 600 /swapfile - Swapfile machen:
mkswap /swapfile - Swap aktivieren:
swapon /swapfile - In fstab eintragen:
echo "/swapfile none swap sw 0 0" >> /etc/fstab
timezones
timedatectlzum anzeigen der aktuellen Settingstimedatectl set-timezone Europe/Berlinzum setzen- So oder so:
sudo apt install ntp
dig
Authoritativen Nameserver anzeigen lassen: dig -t ns example.com
Unixtime / epoch schnell konvertieren
date -d @TIMESTAMP
work@panzer:~$ date -d @1547724642
Do 17. Jan 12:30:42 CET 2019
IPv6 disablen
Unter Ubuntu: net.ipv6.conf.all.disable_ipv6 = 1 in /etc/sysctl.d/01-disable-ipv6.conf
Custom Bash prompt
"$PS1" Variable verändern - die beinhaltet den Shell Prompt. Beispiel: PS1="\033[1;33mTEST $PS1" PS1="\033[0;31mPROD $PS1"
Kernel deinstallieren / /boot voll
dpkg -l | grep 'linux-image*' machen und purgen, was da drinsteht. Außer natürlich den aktuellen (uname -r).
Crontab bearbeiten für andere User
crontab -eu zimbra
Verzeichnisbaum auf Veränderungen prüfen
tar -cf - somedir | md5sum
smbnetfs
- User-space filesystem for SMB/NMB (Windows) network servers and shares
Usage: Verzeichnis anlegen -> smbnetfs $verzeichnis -> alles wird gemountet
Configfile: ~/.smb/smbnetfs.conf
Remmina
VNC Verbindungen mit Apple macOS: Color depth auf mindestens "True color (15 bit)" stellen, sonst schlägt die Verbindung kommentarlos fehl! Argh wtf.
root-Mail empfangen (bspw. Cronjobs)
Eigene Mailadresse in /etc/aliases hinter root: eintragen
Vim als default Editor (zB crontabs)
echo 'EDITOR=vim' >> ~/.bash_profile