#!/bin/sh ## Mount directories into /ftp vsftp_add_user() { local username="$1" local password="$2" echo "Adding user:$username with password:******" mkdir -p "/home/$username" # UID 33 is for www-data in WP adduser \ -h "/home/$username" \ -s /bin/sh \ -D \ "$username" echo "$username:$password" | chpasswd # GID 33 is for www-data in WP sed -i "s/^$username:x:[0-9]*:[0-9]*:/$username:x:33:33:/" /etc/passwd sed -i "s/^$username:x:[0-9]*:/$username:x:33:/" /etc/group chown "$username:$username" "/home/$username" } vsftp_main() { # Create users idx=0 while true ; do idx=$((idx + 1 )) eval "username=\${VSFTP_USER_${idx}_USERNAME:-}" eval "password=\${VSFTP_USER_${idx}_PASSWORD:-}" if [ -z "$username" ]; then break ; fi vsftp_add_user "$username" "$password" done echo "Starting VSFTP" exec vsftpd /etc/vsftpd/vsftpd.conf } sed -i \ "s/^pasv_address=.*$/pasv_address=${VSFTP_HOSTNAME:-}/" \ "s/^anonymous_enable=.*$/anonymous_enable=NO/" \ /etc/vsftpd/vsftpd.conf { echo "log_ftp_protocol=YES" ; } >> /etc/vsftpd/vsftpd.conf vsftp_main