linux

How to Set SFTP umask in Linux

Set SFTP upload permissions with OpenSSH internal-sftp -u in sshd_config, apply umask per user or group with Match blocks, and understand why umask removes bits but cannot add them.

Omer Cakmak7 min read
linux

pkill -P: Kill Child Processes by Parent PID in Linux

Use pkill -P PARENT_PID . to send SIGTERM to every direct child of a parent process, list them with ps --ppid, and clean up script workers with pkill -P $$ . on EXIT.

Omer Cakmak5 min read
linux

How to Automate SFTP in Shell Scripts on Linux

Automate SFTP file transfers in Linux shell scripts using sftp batch mode with SSH keys, or password authentication with sshpass or expect when keys are not available.

Omer Cakmak10 min read
linux

How to Install ARPACK on Linux

Install ARPACK runtime and development packages on Ubuntu, Debian, and RHEL-family Linux from distribution repositories, verify libraries with dpkg or rpm and pkg-config, and link a sample Fortran program against …

Omer Cakmak8 min read
linux

How to Add a User to a Group in Linux

Add a user to a supplementary group in Linux with usermod -aG, gpasswd -a, or adduser on Debian. Verify with id, apply changes with newgrp or re-login, and avoid the missing -a mistake.

Omer Cakmak7 min read
system-administration

Manage Linux Users and Groups

Manage Linux users and groups with useradd, usermod, userdel, groupadd, primary and supplementary groups, account defaults, and ownership checks.

Deepak Prasad15 min read
system-administration

Configure Chrony Time Synchronization in Linux

Configure Chrony NTP on Linux, verify time synchronization with chronyc, force clock correction, troubleshoot sync problems, and optionally serve LAN clients.

Deepak Prasad15 min read
linux

Linux Boot Process Explained: From UEFI and GRUB to systemd

Learn the Linux boot process from UEFI or BIOS through GRUB, the kernel, initramfs, and systemd, with inspection commands and troubleshooting.

Deepak Prasad25 min read
linux

Analyze Linux Performance with perf and debuginfod

Use perf stat, perf record, and perf report on Linux to find CPU bottlenecks, collect call graphs, and resolve symbols with debuginfod on Rocky Linux, RHEL, Debian, Ubuntu, and other distributions.

Deepak Prasad20 min read
linux

Post-Quantum Cryptography in Linux: ML-KEM, ML-DSA, TLS, and SSH

Learn how to check ML-KEM support in TLS, create ML-DSA signatures, and verify post-quantum SSH key exchange on Linux, with tested Rocky Linux examples.

Deepak Prasad22 min read
system-administration

Fix Linux VM Wrong Time After Reboot

When a Linux VM shows the wrong time after every reboot, trace the clock from the virtual RTC through chrony, identify the selected NTP source, and fix stale RTC values, unsuitable chrony sources, or hypervisor time-sync …

Deepak Prasad13 min read
system-administration

Configure Apache LDAP Authentication with OpenLDAP

Configure Apache HTTP Server to authenticate and authorize users with OpenLDAP using mod_authnz_ldap, group restrictions, TLS, and practical troubleshooting.

Deepak Prasad15 min read
system-administration

Fix Bash History Not Saving All Commands in Linux

Fix missing Bash history commands in Linux, including commands lost across multiple terminals, delayed .bash_history writes, HISTCONTROL exclusions, and permission problems.

Deepak Prasad19 min read
linux

How to Create a Man Page in Linux with Groff

Create a Linux man page with a reusable groff template. Learn man sections, macros, local preview, system and user installation, mandb, whatis, and troubleshooting.

Deepak Prasad16 min read
system-administration

Run systemd Service as a Specific User and Group in Linux

Create a system-level systemd service that starts at boot and runs as a dedicated non-root user and group on Ubuntu, Debian, Fedora, RHEL, Rocky Linux, AlmaLinux, CentOS Stream and Oracle Linux.

Deepak Prasad16 min read
linux

How to Restart or Reload Cron in Linux (Ubuntu, Debian, RHEL)

Restart or reload cron in Linux with systemctl restart cron on Ubuntu and Debian or crond on RHEL and Rocky Linux, and when a reload is actually needed.

Omer Cakmak11 min read
linux

RHEL Family vs Debian Family: RPM, DEB, DNF, APT and Server Differences

Compare the RHEL and Debian Linux families, including RPM vs DEB, DNF vs APT, repositories, release models, lifecycle, security, support, configuration, cloud images and server use cases.

Deepak Prasad17 min read
linux

Linux, Unix and Linux Distros Explained: Ubuntu, Debian, RHEL, Fedora and Arch

Learn how Unix, Linux, GNU/Linux and Linux distributions relate, why Ubuntu, Debian, Fedora, RHEL, Rocky Linux and Arch differ beyond desktop themes, and how to identify your distro from the shell.

Deepak Prasad16 min read
linux

Fix curl SSL Certificate Problem Behind Corporate Proxy on Linux

Fix curl error 60 and similar HTTPS failures on Linux when corporate SSL inspection replaces public certificates with a private root CA trusted on Windows but missing from the Linux trust store.

Deepak Prasad15 min read
storage

Migrate an Existing LVM Root Filesystem to LUKS Online

Migrate an already-installed Ubuntu LVM root volume group onto a new LUKS2 physical volume with pvmove, then configure crypttab with initramfs, regenerate the initramfs, and update GRUB for boot-time unlock.

Deepak Prasad17 min read
storage

Enroll TPM2, FIDO2, and Recovery Keys on LUKS2 with systemd-cryptenroll

Use systemd-cryptenroll on LUKS2 volumes to add TPM2, FIDO2, PKCS#11, and recovery-key unlock methods, store token metadata in the LUKS2 JSON area, and wire boot unlock through crypttab.

Deepak Prasad12 min read
storage

How to Resize a LUKS Partition (Extend or Shrink) in Linux

Extend or shrink a LUKS2 ext4 volume on Linux: grow the partition first, run cryptsetup resize on the mapper, then resize2fs; for shrink, reverse the order with offline resize2fs and --size in 512-byte sectors.

Deepak Prasad12 min read
storage

How to Open and Unlock a LUKS Disk on Another Linux Machine

Unlock and mount a LUKS USB or moved disk on another Linux host: cryptsetup open by device, UUID=, or /dev/disk/by-uuid, ext4 or LVM inside LUKS, read-only rescue mount, and close the mapper.

Deepak Prasad12 min read
storage

How to Auto Mount and Unlock LUKS Encrypted Partitions at Boot

Configure crypttab and fstab to unlock and mount a secondary LUKS data partition at boot on Ubuntu or Debian.

Deepak Prasad16 min read
storage

How to Back Up and Restore a LUKS Header in Linux

Back up and restore a LUKS2 header with cryptsetup luksHeaderBackup and luksHeaderRestore, use a detached header file, and understand when a header copy cannot recover a forgotten passphrase.

Deepak Prasad11 min read
storage

Change LUKS Passphrase, Volume Key, and Cipher on Linux

Rotate LUKS passphrases and key slots, change cipher or volume key with cryptsetup reencrypt on LUKS2, and back up the header before destructive operations.

Deepak Prasad13 min read
storage

How to Encrypt a Disk Partition with LUKS in Linux

Encrypt a new Linux disk partition with LUKS2 using cryptsetup: partition the disk, run luksFormat, open the mapper, create ext4 on /dev/mapper, and mount the volume.

Deepak Prasad11 min read
linux

How to List Users in Linux (getent, passwd, who, id)

List users in Linux with getent, /etc/passwd, who, and id. Filter normal and system accounts, see logged-in sessions, and check whether a user exists on Ubuntu and RHEL.

Deepak Prasad9 min read
linux

How to List Groups in Linux and Check User Group Membership

List groups in Linux with getent, groups, id, and /etc/group. Check user group membership, list group members, and compare primary vs supplementary groups.

Deepak Prasad10 min read
security

Import Certificate into Java cacerts on Ubuntu, Debian, RHEL, Rocky Linux

Import a CA or TLS certificate into Java cacerts on Ubuntu, Debian, RHEL, and Rocky Linux with keytool -importcert: locate cacerts, use a copy for safe testing, default password changeit, and distro-specific system trust …

Deepak Prasad8 min read