There is no known active, mainstream server software called “ngFTPD” for Linux systems. It is very likely that you are thinking of ngIRCd (a next-generation IRC daemon) or standard Secure FTP (SFTP) via OpenSSH, which is the universal way to handle secure file transfers on modern Linux servers.
Because SFTP via OpenSSH is the industry standard for secure Linux file transfers, the guide below details how to install and configure it securely. If you meant to install ngIRCd, you can find the package in most standard Linux repositories using sudo apt install ngircd or sudo dnf install ngircd. Phase 1: Install the Core Service
Most standard Linux distributions come with OpenSSH pre-installed. If it is missing, use your system’s package manager to install it: Ubuntu / Debian Systems: sudo apt update sudo apt install openssh-server -y Use code with caution. RHEL / CentOS / Rocky Linux Systems:
sudo dnf install openssh-server -y sudo systemctl start sshd sudo systemctl enable sshd Use code with caution. Phase 2: Create an Isolated SFTP Environment
For security, it is best practice to create a dedicated user group. This restricts users entirely to file transfers and keeps them locked in a specific directory (called a Chroot jail). Create a dedicated group for your file transfer users: sudo groupadd sftp_users Use code with caution. Add a new user restricted from standard SSH shell login: sudo useradd -m -g sftp_users -s /sbin/nologin sftpuser Use code with caution. Assign a secure password to this user: sudo passwd sftpuser Use code with caution.
Build the directory jail where they will safely upload files:
sudo mkdir -p /data/sftpuser/uploads sudo chown root:sftp_users /data/sftpuser sudo chmod 755 /data/sftpuser sudo chown sftpuser:sftp_users /data/sftpuser/uploads Use code with caution. Phase 3: Configure the Daemon
To enforce the file-transfer-only rules, you must update the master SSH daemon configuration file.
Leave a Reply