FROM centos:7 MAINTAINER Eldho
RUN yum -y update && yum clean all
RUN yum -y install httpd && yum clean all
RUN yum install -y iproute
RUN yum install -y
vsftpd
db4-utils
db4
ENV FTP_USER admin ENV FTP_PASS admin123 ENV PASV_ADDRESS IPv4 ENV PASV_MIN_PORT 21100 ENV PASV_MAX_PORT 21110 ENV LOG_STDOUT Boolean
COPY vsftpd.conf /etc/vsftpd/ COPY vsftpd_virtual /etc/pam.d/ COPY vsftpd.sh /usr/sbin/
RUN chmod +x /usr/sbin/vsftpd.sh RUN mkdir -p /home/vsftpd/
VOLUME /home/vsftpd VOLUME /var/log/vsftpd VOLUME /etc/vsftpd
EXPOSE 20 21
CMD ["/usr/sbin/vsftpd.sh"]
Conf file ++++++++
background=NO
anonymous_enable=NO
local_enable=YES
guest_enable=YES
virtual_use_local_privs=YES
write_enable=YES
pam_service_name=vsftpd_virtual
user_sub_token=$USER local_root=/home/vsftpd/$USER
chroot_local_user=NO
allow_writeable_chroot=YES
hide_ids=YES
pasv_addr_resolve=NO
xferlog_enable=YES xferlog_file=/var/log/vsftpd/vsftpd.log
port_enable=YES connect_from_port_20=YES ftp_data_port=20
seccomp_sandbox=NO
pasv_enable=YES pasv_promiscuous=YES #timeoutt issue solved reverse_lookup_enable=NO ##Userss list userlist_file=/etc/vsftpd/virtual_users.txt userlist_enable=YES userlist_deny=NO pasv_address= pasv_max_port=21110 pasv_min_port=21100 chown_uploads=YES
++++++++
vsftpd.sh
++++ #!/bin/bash
if [ "$FTP_USER" = "String" ]; then export FTP_USER='admin' fi
if [ "$FTP_PASS" = "Random" ]; then
export FTP_PASS=cat /dev/urandom | tr -dc A-Z-a-z-0-9 | head -c${1:-16}
fi
if [ "$LOG_STDOUT" = "Boolean" ]; then export LOG_STDOUT='' else export LOG_STDOUT='Yes.' fi
mkdir -p "/home/vsftpd/${FTP_USER}" echo -e "${FTP_USER}\n${FTP_PASS}" >> /etc/vsftpd/virtual_users.txt /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
if [ "$PASV_ADDRESS" = "IPv4" ]; then export PASV_ADDRESS=$(/sbin/ip route|awk '/default/ { print $3 }') fi
echo "pasv_address=${PASV_ADDRESS}" >> /etc/vsftpd/vsftpd.conf echo "pasv_max_port=${PASV_MAX_PORT}" >> /etc/vsftpd/vsftpd.conf echo "pasv_min_port=${PASV_MIN_PORT}" >> /etc/vsftpd/vsftpd.conf
export LOG_FILE=grep xferlog_file /etc/vsftpd/vsftpd.conf|cut -d= -f2
#Set permissions for FTP user chown -R ftp:ftp /home/vsftpd/ log "Fixed permissions for newly created user: ${FTP_USER}"
if [ ! $LOG_STDOUT ]; then cat << EOB ************************************************* * * * Docker image: eldhodoc/vsftpd * * * * * *************************************************
SERVER SETTINGS
---------------
· FTP User: $FTP_USER
· FTP Password: $FTP_PASS
· Log file: $LOG_FILE
· Redirect vsftpd log to STDOUT: No.
EOB else /usr/bin/ln -sf /dev/stdout $LOG_FILE fi
&>/dev/null /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf ++++
++++ #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/virtual_users account required pam_userdb.so db=/etc/vsftpd/virtual_users session required pam_loginuid.so
++++
Content type
Image
Digest
Size
187.3 MB
Last updated
over 8 years ago
docker pull eldhodoc/vsftpd