-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
51 lines (37 loc) · 1.51 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Utiliser une image de base Debian
FROM debian:latest
# Mettre à jour le système
RUN apt-get update
# Installer vsftpd
RUN apt-get install -y vsftpd
# Créer un utilisateur ftp
RUN useradd -m ftpuser
# Définir le mot de passe pour l'utilisateur ftp
RUN echo "ftpuser:ftppass" | chpasswd
# Créer le dossier de l'utilisateur ftp
RUN mkdir /home/ftpuser/ftp
# Changer les permissions du dossier de l'utilisateur ftp
RUN chown ftpuser:ftpuser /home/ftpuser/ftp
# Activer l'accès en écriture pour l'utilisateur ftp
RUN echo 'write_enable=YES' >> /etc/vsftpd.conf
# Configurer l'utilisateur anonyme pour utiliser le dossier de l'utilisateur ftp
RUN echo 'local_root=/home/ftpuser/ftp' >> /etc/vsftpd.conf
RUN echo 'user_sub_token=$USER' >> /etc/vsftpd.conf
RUN echo 'local_umask=022' >> /etc/vsftpd.conf
RUN echo 'chroot_local_user=YES' >> /etc/vsftpd.conf
# Activer la connexion anonyme
RUN echo 'anonymous_enable=YES' >> /etc/vsftpd.conf
RUN echo 'no_anon_password=YES' >> /etc/vsftpd.conf
RUN echo 'anon_root=/home/ftpuser/ftp' >> /etc/vsftpd.conf
RUN echo 'anon_umask=022' >> /etc/vsftpd.conf
# Créer le fichier index.html
RUN echo 'Hello, World!' > /home/ftpuser/ftp/index.html
# Créer le répertoire 'empty' pour secure_chroot_dir
RUN mkdir -p /var/run/vsftpd/empty && \
chmod 555 /var/run/vsftpd/empty
# Utiliser le répertoire 'empty' pour secure_chroot_dir
RUN echo 'secure_chroot_dir=/var/run/vsftpd/empty' >> /etc/vsftpd.conf
# Exposer le port FTP
EXPOSE 21
# Démarrer vsftpd
CMD /usr/sbin/vsftpd /etc/vsftpd.conf