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.