From 979b9b0a6ed5c00d5c0935d41e258d0a22146f0d Mon Sep 17 00:00:00 2001 From: Arnaud Lier <arnaud@lier.link> Date: Tue, 18 Feb 2025 12:57:41 +0100 Subject: [PATCH] enable passive mode for vsftpd and use secret for user password --- srcs/.env | 4 ++-- srcs/docker-compose.yml | 4 ++++ srcs/requirements/bonus/vsftpd/Dockerfile | 5 ++--- srcs/requirements/bonus/vsftpd/conf/vsftpd.conf | 5 ++++- srcs/requirements/bonus/vsftpd/tools/setup_vsftpd.sh | 7 +++++++ 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 srcs/requirements/bonus/vsftpd/tools/setup_vsftpd.sh diff --git a/srcs/.env b/srcs/.env index 997a413..7c8c1ef 100644 --- a/srcs/.env +++ b/srcs/.env @@ -1,7 +1,7 @@ DOMAIN_NAME=alier.42.fr TITLE=42 News ADMIN_EMAIL=alier@student.42mulhouse.fr -ADMIN_USER=arnaudlier +ADMIN_USER=alier DATA_PATH=/Users/arnaudlier/data DB_USER=wordpress -DB_DB=wordpress \ No newline at end of file +DB_DB=wordpress diff --git a/srcs/docker-compose.yml b/srcs/docker-compose.yml index af25665..3726988 100644 --- a/srcs/docker-compose.yml +++ b/srcs/docker-compose.yml @@ -79,6 +79,10 @@ services: ports: - 21:21 - 20:20 + - 21100-21110:21100-21110 + secrets: + - admin_password + env_file: .env adminer: restart: on-failure depends_on: diff --git a/srcs/requirements/bonus/vsftpd/Dockerfile b/srcs/requirements/bonus/vsftpd/Dockerfile index 45787a0..7a932df 100644 --- a/srcs/requirements/bonus/vsftpd/Dockerfile +++ b/srcs/requirements/bonus/vsftpd/Dockerfile @@ -4,13 +4,12 @@ LABEL org.opencontainers.image.authors="alier@student.42mulhouse.fr" RUN apk add vsftpd -RUN printf 'Born2beroot\nBorn2beroot' | adduser arnaud -h /var/www/wordpress - #HEALTHCHECK --start-period=5s \ # CMD cgi-fcgi -bind -connect 127.0.0.1:9001 || exit 1 COPY conf/vsftpd.conf /etc/vsftpd/vsftpd.conf +COPY tools/setup_vsftpd.sh /setup_vsftpd.sh EXPOSE 21 -ENTRYPOINT ["vsftpd", "/etc/vsftpd/vsftpd.conf"] +ENTRYPOINT ["sh", "setup_vsftpd.sh"] diff --git a/srcs/requirements/bonus/vsftpd/conf/vsftpd.conf b/srcs/requirements/bonus/vsftpd/conf/vsftpd.conf index 7647e44..ca44124 100644 --- a/srcs/requirements/bonus/vsftpd/conf/vsftpd.conf +++ b/srcs/requirements/bonus/vsftpd/conf/vsftpd.conf @@ -117,4 +117,7 @@ listen=YES # Make sure, that one of the listen options is commented !! #listen_ipv6=YES -pasv_enable=NO +pasv_enable=YES +pasv_address=127.0.0.1 +pasv_min_port=21100 +pasv_max_port=21110 diff --git a/srcs/requirements/bonus/vsftpd/tools/setup_vsftpd.sh b/srcs/requirements/bonus/vsftpd/tools/setup_vsftpd.sh new file mode 100644 index 0000000..c989e56 --- /dev/null +++ b/srcs/requirements/bonus/vsftpd/tools/setup_vsftpd.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +PASSWORD="$(cat /run/secrets/admin_password)" + +printf "$PASSWORD\n$PASSWORD" | adduser "$ADMIN_USER" -h /var/www/wordpress + +exec vsftpd /etc/vsftpd/vsftpd.conf