LFCS / traps
traps
usermod -G
Plain -G REPLACES all supplementary groups. Always usermod -aG to append.
firewalld not permanent
Rule without --permanent vanishes on reload/reboot. --permanent THEN firewall-cmd --reload.
enable ≠ start
enable = boot only; start = now only. Use systemctl enable --now for both.
forgot daemon-reload
Edited a unit but no change → systemctl daemon-reload after any unit edit.
fstab typo = no boot
Bad /etc/fstab can hang boot. mount -a + findmnt --verify before leaving. Prefer UUID=.
SELinux blocks it (RHEL)
Custom docroot/port works in test, fails after relabel. restorecon -Rv /path; semanage port -a; setsebool -P.
service name differs
SSH: sshd (RHEL) vs ssh (DEB). Apache: httpd vs apache2.
sudoers edited by hand
Syntax error locks out sudo. ALWAYS use visudo (validates first).
LV grown, FS didn't
lvextend alone leaves FS small. Use lvextend -r (or resize2fs/xfs_growfs).
swapfile perms
Swapfile must be chmod 600 or mkswap/swapon refuses.
cron has no PATH
Cron runs minimal env. Use absolute paths in cron jobs/scripts.
edited resolv.conf
Overwritten by resolved/NM. Set DNS via netplan/nmcli.
partition not re-read
After fdisk/parted run partprobe so the kernel sees the new partition.
nologin user
Disable login without deleting: usermod -s /usr/sbin/nologin (DEB) | /sbin/nologin (RHEL).
chage date format
Expiry is YYYY-MM-DD: chage -E 2026-12-31 user.