ProFTPD is a server that can offer FTP access to friends and family without revealing your slot's username and password. Instead, custom usernames and passwords can be set for each friend or family member.
In this section, we'll be installing and setting up Userland ProFTPD into your slot. We'll also be teaching you how to manage and uninstall ProFTPD.
Acquire Absolute path for FTP Root Folder
You will need to find your absolute path to the folder you wish to use for other users. Navigate to the folder with
cd ~/path/to/folder then run the command
pwd -P Keep this path to one side as this is required for the
FTP Root Folder Input during installation
- Run the following command to download the script and make it executable.
wget https://raw.githubusercontent.com/ultraseedbox/Ultraseedbox-Scripts/master/ProFTPD/proftpd-install.sh chmod +x proftpd-install.sh
- Run the script by running the following
- Then, you'll see the following output. Enter what is needed.
usbdocs@lw816:~$ ./proftpd-install.sh Disclaimer: This installer is unofficial, and USB staff will not support any issues with it Type confirm if you wish to continue: confirm FTP Root Folder: /home26/usbdocs/files Installing ProFTPD... Configuring Authentication... Username: usbdocs Password: ******** ftpasswd: using alternate file: /home12/usbdocs/.config/proftpd/proftpd.passwd ftpasswd: creating passwd entry for user usbdocs ftpasswd: entry created Do you want to create another user? (y/n) n Installing Service... Configuring TLS... Generating RSA private key, 1024 bit long modulus (2 primes) ...............+++++ .................+++++ e is 65537 (0x010001) Signature ok subject=C = NL, ST = NH, L = Amsterdam, O = Ultraseedbox, CN = lw816.usbx.me Getting Private key Starting ProFTPD... Downloading Scripts... Cleaning Up... Done! Access your ProFTPD installation at ftp://lw816.usbx.me:32563 Run ./proftpd-uninstall.sh to uninstall | Run ./proftpd-users.sh to manage users
Be sure to take note of the port provided by the script in this line: Access your ProFTPD installation at ftp://lw816.usbx.me:32563.
- To manage users, run the following command
- You should see the following output below. Follow the instructions shown.
usbdocs@lw816:~$ ./proftpd-users.sh What do you want to do? 1) Create a user 2) Delete a user 3) Change a user's password 4) Exit Select an option:
- By default, ProFTPD will allow all created users access to the FTP root directory and all subdirectories.
- By setting up permissions, you can limit their access to only specific directories that you defined as their home.
- In ProFTPD,
~is the FTP user's home directory. This can be different from your actual home directory.
- The following additional configuration will allow all FTP users full access to their FTP home directory.
- You can edit this by running your fave text editor
<Directory ~> <Limit ALL> AllowAll </Limit> </Directory>
- You may need to use your full home path for permissions to apply to do so navigate to the directory you wish to share with
cd ~/path/to/folderthen run the command
pwd -Pthis will display a path similar to
- You can change the limited commands by replacing ALL with specific commands or groups of commands as listed on ProFTPD's
- You can also add subdirectories by copying the entire block and changing
/home12/usbdocs//files/directory>where the directory is the subdirectory you want to modify permissions.
- Shown here is a permissions example
# Permissions example <Limit ALL> # Limit everything DenyAll </Limit> <Directory /home12/usbdocs/files> # Allow everyone inside this folder <Limit ALL> AllowAll </Limit> </Directory> <Directory /home12/usbdocs/files/test1> # Allow "test1" inside this folder and all other users will be denied <Limit ALL> Order Allow,Deny AllowUser test1 Deny ALL </Limit> </Directory>
- Restart ProFTPD for the configuration changes to take effect.
systemctl --user restart proftpd
Protocol: FTP - File Transfer Protocol Host: server.usbx.me Port: Provided by Install Script Encryption: Require explicit FTP over TLS User: As set by /proftpd-users.sh Pass: /proftpd-users.sh