Skip to content

Commit 430ddaf

Browse files
Initial Commit
Signed-off-by: Lehmann_Fabian <fabian.lehmann@informatik.hu-berlin.de>
1 parent 16fe498 commit 430ddaf

File tree

3 files changed

+204
-0
lines changed

3 files changed

+204
-0
lines changed

.github/workflows/workflow.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Test and Build
2+
on:
3+
push:
4+
tags:
5+
- 'v*'
6+
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v3
13+
- name: Log in to Docker Hub
14+
uses: docker/login-action@v2
15+
with:
16+
username: commonworkflowscheduler
17+
password: ${{ secrets.DOCKER_PASSWORD }}
18+
- name: Build and push Docker image
19+
uses: docker/build-push-action@v4
20+
with:
21+
context: .
22+
push: true
23+
tags: |
24+
commonworkflowscheduler/ftpdaemon:latest
25+
commonworkflowscheduler/ftpdaemon:${{ env.VERSION }}

Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM debian:bookworm-slim
2+
RUN apt update && apt install -y \
3+
vsftpd \
4+
&& rm -rf /var/lib/apt/lists/*
5+
6+
RUN mkdir -p /var/run/vsftpd/empty
7+
8+
COPY vsftpd.conf /etc/vsftpd.conf
9+
10+
USER root
11+
RUN echo 'root:password' | chpasswd
12+
13+
WORKDIR /app
14+
15+
ENTRYPOINT ["sh","-c","/usr/sbin/vsftpd /etc/vsftpd.conf"]

vsftpd.conf

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# Example config file /etc/vsftpd.conf
2+
#
3+
# The default compiled in settings are fairly paranoid. This sample file
4+
# loosens things up a bit, to make the ftp daemon more usable.
5+
# Please see vsftpd.conf.5 for all compiled in defaults.
6+
#
7+
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
8+
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
9+
# capabilities.
10+
#
11+
#
12+
# Run standalone? vsftpd can run either from an inetd or as a standalone
13+
# daemon started from an initscript.
14+
listen=YES
15+
#
16+
# This directive enables listening on IPv6 sockets. By default, listening
17+
# on the IPv6 "any" address (::) will accept connections from both IPv6
18+
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
19+
# sockets. If you want that (perhaps because you want to listen on specific
20+
# addresses) then you must run two copies of vsftpd with two configuration
21+
# files.
22+
listen_ipv6=NO
23+
#
24+
# Allow anonymous FTP? (Disabled by default).
25+
anonymous_enable=YES
26+
#
27+
# Uncomment this to allow local users to log in.
28+
local_enable=YES
29+
#
30+
# Uncomment this to enable any form of FTP write command.
31+
write_enable=YES
32+
#
33+
# Default umask for local users is 077. You may wish to change this to 022,
34+
# if your users expect that (022 is used by most other ftpd's)
35+
#local_umask=022
36+
#
37+
# Uncomment this to allow the anonymous FTP user to upload files. This only
38+
# has an effect if the above global write enable is activated. Also, you will
39+
# obviously need to create a directory writable by the FTP user.
40+
anon_upload_enable=NO
41+
#
42+
# Uncomment this if you want the anonymous FTP user to be able to create
43+
# new directories.
44+
anon_mkdir_write_enable=NO
45+
#
46+
anon_other_write_enable=NO
47+
#
48+
# Activate directory messages - messages given to remote users when they
49+
# go into a certain directory.
50+
dirmessage_enable=YES
51+
#
52+
# If enabled, vsftpd will display directory listings with the time
53+
# in your local time zone. The default is to display GMT. The
54+
# times returned by the MDTM FTP command are also affected by this
55+
# option.
56+
use_localtime=YES
57+
#
58+
# Activate logging of uploads/downloads.
59+
xferlog_enable=YES
60+
#
61+
# Make sure PORT transfer connections originate from port 20 (ftp-data).
62+
connect_from_port_20=NO
63+
#
64+
# If you want, you can arrange for uploaded anonymous files to be owned by
65+
# a different user. Note! Using "root" for uploaded files is not
66+
# recommended!
67+
#chown_uploads=YES
68+
#chown_username=whoever
69+
#
70+
# You may override where the log file goes if you like. The default is shown
71+
# below.
72+
#xferlog_file=/var/log/vsftpd.log
73+
#
74+
# If you want, you can have your log file in standard ftpd xferlog format.
75+
# Note that the default log file location is /var/log/xferlog in this case.
76+
#xferlog_std_format=YES
77+
#
78+
# You may change the default value for timing out an idle session.
79+
#idle_session_timeout=600
80+
#
81+
# You may change the default value for timing out a data connection.
82+
#data_connection_timeout=120
83+
#
84+
# It is recommended that you define on your system a unique user which the
85+
# ftp server can use as a totally isolated and unprivileged user.
86+
#nopriv_user=ftpsecure
87+
#
88+
# Enable this and the server will recognise asynchronous ABOR requests. Not
89+
# recommended for security (the code is non-trivial). Not enabling it,
90+
# however, may confuse older FTP clients.
91+
#async_abor_enable=YES
92+
#
93+
# By default the server will pretend to allow ASCII mode but in fact ignore
94+
# the request. Turn on the below options to have the server actually do ASCII
95+
# mangling on files when in ASCII mode.
96+
# Beware that on some FTP servers, ASCII support allows a denial of service
97+
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
98+
# predicted this attack and has always been safe, reporting the size of the
99+
# raw file.
100+
# ASCII mangling is a horrible feature of the protocol.
101+
#ascii_upload_enable=YES
102+
#ascii_download_enable=YES
103+
#
104+
# You may fully customise the login banner string:
105+
#ftpd_banner=Welcome to blah FTP service.
106+
#
107+
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
108+
# useful for combatting certain DoS attacks.
109+
#deny_email_enable=YES
110+
# (default follows)
111+
#banned_email_file=/etc/vsftpd.banned_emails
112+
#
113+
# You may restrict local users to their home directories. See the FAQ for
114+
# the possible risks in this before using chroot_local_user or
115+
# chroot_list_enable below.
116+
#chroot_local_user=YES
117+
#
118+
# You may specify an explicit list of local users to chroot() to their home
119+
# directory. If chroot_local_user is YES, then this list becomes a list of
120+
# users to NOT chroot().
121+
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
122+
# the user does not have write access to the top level directory within the
123+
# chroot)
124+
#chroot_local_user=YES
125+
#chroot_list_enable=YES
126+
# (default follows)
127+
#chroot_list_file=/etc/vsftpd.chroot_list
128+
#
129+
# You may activate the "-R" option to the builtin ls. This is disabled by
130+
# default to avoid remote users being able to cause excessive I/O on large
131+
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
132+
# the presence of the "-R" option, so there is a strong case for enabling it.
133+
#ls_recurse_enable=YES
134+
#
135+
# Customization
136+
#
137+
# Some of vsftpd's settings don't fit the filesystem layout by
138+
# default.
139+
#
140+
# This option should be the name of a directory which is empty. Also, the
141+
# directory should not be writable by the ftp user. This directory is used
142+
# as a secure chroot() jail at times vsftpd does not require filesystem
143+
# access.
144+
secure_chroot_dir=/var/run/vsftpd/empty
145+
#
146+
# This string is the name of the PAM service vsftpd will use.
147+
pam_service_name=ftp
148+
#
149+
# This option specifies the location of the RSA certificate to use for SSL
150+
# encrypted connections.
151+
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
152+
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
153+
ssl_enable=NO
154+
155+
anonymous_enable=yes
156+
anon_root=/
157+
158+
pasv_enable=Yes
159+
pasv_max_port=10090
160+
pasv_min_port=11090
161+
162+
#
163+
# Uncomment this to indicate that vsftpd use a utf8 filesystem.
164+
#utf8_filesystem=YES

0 commit comments

Comments
 (0)