Articles by Omer Cakmak
SSH Multiplexing on Linux: Share One Connection
Reuse one authenticated SSH connection for later ssh, scp, and sftp sessions with ControlMaster, ControlPath, and ControlPersist on the OpenSSH client.
How to Copy a Directory Over SSH on Linux
Copy a directory and its contents between Linux hosts with scp -r and rsync -av over SSH, verify the remote layout, and avoid common path mistakes with trailing slashes.
Restrict SFTP Users to a Directory with OpenSSH Chroot
Restrict SFTP users to a chroot directory with OpenSSH ChrootDirectory, ForceCommand internal-sftp, Match blocks in sshd_config, writable upload folders, and SSH public-key authentication.
How to Set Up a Proxy for YUM and DNF Repositories
Configure proxy settings in dnf.conf and yum.repos.d for YUM, DNF 4, and DNF 5 on RHEL-family systems, including authenticated proxies, per-repo overrides, and proxy=_none_.
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.
Secure HTTPS File Transfer with curl and Apache on RHEL
Set up Apache httpd with TLS, WebDAV, and HTTP basic auth on RHEL-family systems, trust the server certificate on the client with curl --cacert, and upload or download files over verified HTTPS.
How to Set the FFmpeg Output Directory on Linux
Set the FFmpeg output directory by including the folder in the output file path after -i, use the current working directory for bare filenames, and set input_dir and output_dir in bash scripts.
SCP vs rsync in Linux: When to Use Each for Remote File Transfer
Compare scp and rsync for Linux file transfer: what each tool does, when to use one-off copy vs repeated sync, SSH security, metadata, resume, and common path mistakes.
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.
Run a Script Before the Linux Login Prompt with systemd
Run a shell script before the console login prompt with systemd using Wants and Before getty-pre.target, then verify with systemctl show and the script log file.
Run a Script Before Shutdown or Reboot with systemd
Run a shell script before shutdown or reboot with systemd using Before=shutdown.target and WantedBy=shutdown.target for cleanup on both poweroff and reboot.
Run a Script at Linux Boot with systemd (Without cron)
Run a shell script at Linux boot with a systemd service unit after network-online.target, enable it with systemctl, verify with journalctl, and avoid common ExecStart path mistakes.
Run a Script N Minutes After Boot with systemd (Without cron)
Run a shell script five minutes after boot with a systemd timer using OnBootSec, keep the Timer section in a .timer file, enable only the timer, and verify with systemctl list-timers.
Run a Script at Shutdown Only (Not on Reboot) with systemd
Run a shell script only at poweroff or halt with systemd by enabling the unit on poweroff.target and halt.target, not on reboot.target, and verify with a poweroff test.
pam_faillock: Lock User Accounts After Failed Logins on RHEL
Enable pam_faillock on RHEL-family Linux with authselect and faillock.conf, verify SSH lockout after failed passwords, and reset tallies with the faillock command.
Install Prometheus and Grafana on RHEL, Rocky Linux, and AlmaLinux
Install Prometheus from the upstream Linux binary on RHEL-family hosts, add Grafana from the official RPM repository, enable both with systemd, open firewalld ports 9090 and 3000, and connect Grafana to Prometheus on the …
Configure Software RAID 0 in Linux with mdadm
Configure software RAID 0 (striping) in Linux with mdadm on two partitions, format with ext4, mount the volume, and persist it across reboot.
What Does the Dot After Linux File Permissions Mean?
Learn what the trailing dot after Linux permissions means in ls -l output, how it differs from a plus sign, and when to use ls -Z or restorecon instead of removing SELinux labels.
How to Copy Files from One Linux Server to Another
Copy files between Linux servers with scp, rsync, SFTP, tar over SSH, ncat, curl, and wget using tested push, pull, sync, and HTTP examples.
How to Check Internet Connection in Linux Command Line and Shell Script
Check internet connectivity on Linux with curl to google.com, ping, DNS tools, and a shell script pattern — then work down routing and firewall layers when the quick check fails.
Configure Software RAID 5 in Linux with mdadm
Configure software RAID 5 in Linux with mdadm on three partitions — distributed parity, left-symmetric layout, initial recovery, and creating larger arrays with spares.
Configure Software RAID 4 in Linux with mdadm
Configure software RAID 4 in Linux with mdadm on three partitions — dedicated parity disk, parity initialization, format with ext4, and mount.
Configure Linear RAID in Linux with mdadm
Configure linear RAID (append mode) in Linux with mdadm on two partitions — fdisk setup, create the array, format with ext4, mount, and persist across reboot.
How to Create a Dropdown List in SoftMaker PlanMaker
Create a dropdown list in SoftMaker PlanMaker with input validation for in-cell lists or a form object dropdown linked to a sheet range and result cell.
Configure Software RAID 10 (1+0) in Linux with mdadm
Configure software RAID 10 (RAID 1+0) in Linux with mdadm by mirroring two disk pairs into RAID 1 arrays, striping them with RAID 0, and mounting the resulting volume.
chmod 777 in Linux: Meaning, Risks and Safer Alternatives
chmod 777 gives owner, group, and everyone else read, write, and execute or search permission (rwxrwxrwx); learn why that is risky, what chmod -R 777 does, and which modes like 755 or 775 to use instead.
Check Last Password Change and Expiration Date in Linux
Check last password change and expiration date on Linux with chage -l, chage -i -l, passwd -S, and /etc/shadow, including status codes and local vs LDAP users.
How to Check Disk Type in Linux: HDD, SSD, NVMe and SATA
Check disk type in Linux with lsblk ROTA and TRAN, sysfs rotational, udevadm, lspci, and optional smartctl or nvme tools to tell HDD from SSD, NVMe from SATA, and when virtual or RAID storage hides the real media.
How to Check if a Linux Server Is Physical or Virtual
Check if a Linux server is physical or virtual with systemd-detect-virt, virt-what, dmidecode, DMI sysfs files, and lscpu, including VM vs container detection and when tools disagree.
Capture SSH and sshd strace Logs for Troubleshooting
Capture SSH client and sshd strace logs with ssh -vvv and sshd -ddd on an alternate port, analyze syscall failures, optionally attach strace -f -p to the running daemon, and collect matching tcpdump evidence.

