summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-daemons/vsftpd/files
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-daemons/vsftpd/files')
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch55
-rwxr-xr-xmeta-networking/recipes-daemons/vsftpd/files/init41
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/volatiles.99_vsftpd1
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf139
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/vsftpd.ftpusers15
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/vsftpd.service9
-rw-r--r--meta-networking/recipes-daemons/vsftpd/files/vsftpd.user_list20
7 files changed, 280 insertions, 0 deletions
diff --git a/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch b/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch
new file mode 100644
index 000000000..5f2860e84
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch
@@ -0,0 +1,55 @@
1vsftpd: change default value of secure_chroot_dir
2
3Upstream-Status: Pending
4
5Change secure_chroot_dir pointing to a volatile directory.
6
7Signed-off-by: Ming Liu <ming.liu@windriver.com>
8---
9 INSTALL | 6 +++---
10 tunables.c | 2 +-
11 vsftpd.conf.5 | 2 +-
12 3 files changed, 5 insertions(+), 5 deletions(-)
13
14diff -urpN a/INSTALL b/INSTALL
15--- a/INSTALL 2013-09-13 10:23:57.504972397 +0800
16+++ b/INSTALL 2013-09-13 10:25:25.664971779 +0800
17@@ -27,11 +27,11 @@ user in case it does not already exist.
18 [root@localhost root]# useradd nobody
19 useradd: user nobody exists
20
21-2b) vsftpd needs the (empty) directory /usr/share/empty in the default
22+2b) vsftpd needs the (empty) directory /var/run/vsftpd/empty in the default
23 configuration. Add this directory in case it does not already exist. e.g.:
24
25-[root@localhost root]# mkdir /usr/share/empty/
26-mkdir: cannot create directory `/usr/share/empty': File exists
27+[root@localhost root]# mkdir /var/run/vsftpd/empty/
28+mkdir: cannot create directory `/var/run/vsftpd/empty': File exists
29
30 2c) For anonymous FTP, you will need the user "ftp" to exist, and have a
31 valid home directory (which is NOT owned or writable by the user "ftp").
32diff -urpN a/tunables.c b/tunables.c
33--- a/tunables.c 2013-09-13 10:26:29.554972817 +0800
34+++ b/tunables.c 2013-09-13 10:27:18.104972210 +0800
35@@ -254,7 +254,7 @@ tunables_load_defaults()
36 /* -rw------- */
37 tunable_chown_upload_mode = 0600;
38
39- install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);
40+ install_str_setting("/var/run/vsftpd/empty", &tunable_secure_chroot_dir);
41 install_str_setting("ftp", &tunable_ftp_username);
42 install_str_setting("root", &tunable_chown_username);
43 install_str_setting("/var/log/xferlog", &tunable_xferlog_file);
44diff -urpN a/vsftpd.conf.5 b/vsftpd.conf.5
45--- a/vsftpd.conf.5 2013-09-13 10:09:33.774972462 +0800
46+++ b/vsftpd.conf.5 2013-09-13 10:10:41.914971989 +0800
47@@ -969,7 +969,7 @@ This option should be the name of a dire
48 directory should not be writable by the ftp user. This directory is used
49 as a secure chroot() jail at times vsftpd does not require filesystem access.
50
51-Default: /usr/share/empty
52+Default: /var/run/vsftpd/empty
53 .TP
54 .B ssl_ciphers
55 This option can be used to select which SSL ciphers vsftpd will allow for
diff --git a/meta-networking/recipes-daemons/vsftpd/files/init b/meta-networking/recipes-daemons/vsftpd/files/init
new file mode 100755
index 000000000..d0ec010dc
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/init
@@ -0,0 +1,41 @@
1#!/bin/sh
2DAEMON=/usr/sbin/vsftpd
3NAME=vsftpd
4DESC="FTP Server"
5ARGS=""
6FTPDIR=/var/lib/ftp
7
8test -f $DAEMON || exit 0
9
10set -e
11
12case "$1" in
13 start)
14 echo -n "* starting $DESC: $NAME... "
15 if ! test -d $FTPDIR; then
16 mkdir -p $FTPDIR/in
17 chown ftp $FTPDIR -R
18 chmod a-w $FTPDIR
19 chmod u+w $FTPDIR/in
20 fi
21 start-stop-daemon -S -b -x $DAEMON -- $ARGS
22 echo "done."
23 ;;
24 stop)
25 echo -n "* stopping $DESC: $NAME... "
26 start-stop-daemon -K -x $DAEMON
27 echo "done."
28 ;;
29 restart)
30 echo "* restarting $DESC: $NAME... "
31 $0 stop
32 $0 start
33 echo "done."
34 ;;
35 *)
36 echo "Usage: $0 {start|stop|restart}"
37 exit 1
38 ;;
39esac
40
41exit 0
diff --git a/meta-networking/recipes-daemons/vsftpd/files/volatiles.99_vsftpd b/meta-networking/recipes-daemons/vsftpd/files/volatiles.99_vsftpd
new file mode 100644
index 000000000..8a602ba37
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/volatiles.99_vsftpd
@@ -0,0 +1 @@
d root root 0755 /var/run/vsftpd/empty none
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf
new file mode 100644
index 000000000..bb1929480
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf
@@ -0,0 +1,139 @@
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# run standalone
12listen=YES
13
14# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
15anonymous_enable=NO
16#
17# Uncomment this to allow local users to log in.
18local_enable=YES
19#
20# Uncomment this to enable any form of FTP write command.
21write_enable=YES
22#
23# Default umask for local users is 077. You may wish to change this to 022,
24# if your users expect that (022 is used by most other ftpd's)
25local_umask=022
26#
27# Uncomment this to allow the anonymous FTP user to upload files. This only
28# has an effect if the above global write enable is activated. Also, you will
29# obviously need to create a directory writable by the FTP user.
30#anon_upload_enable=YES
31#
32# Uncomment this if you want the anonymous FTP user to be able to create
33# new directories.
34#anon_mkdir_write_enable=YES
35#
36# Activate directory messages - messages given to remote users when they
37# go into a certain directory.
38dirmessage_enable=YES
39#
40# Activate logging of uploads/downloads.
41xferlog_enable=YES
42#
43# Make sure PORT transfer connections originate from port 20 (ftp-data).
44connect_from_port_20=YES
45#
46# If you want, you can arrange for uploaded anonymous files to be owned by
47# a different user. Note! Using "root" for uploaded files is not
48# recommended!
49#chown_uploads=YES
50#chown_username=whoever
51#
52# You may override where the log file goes if you like. The default is shown
53# below.
54#xferlog_file=/var/log/vsftpd.log
55#
56# If you want, you can have your log file in standard ftpd xferlog format
57xferlog_std_format=YES
58#
59# You may change the default value for timing out an idle session.
60#idle_session_timeout=600
61#
62# You may change the default value for timing out a data connection.
63#data_connection_timeout=120
64#
65# It is recommended that you define on your system a unique user which the
66# ftp server can use as a totally isolated and unprivileged user.
67#nopriv_user=ftp
68#
69# Enable this and the server will recognise asynchronous ABOR requests. Not
70# recommended for security (the code is non-trivial). Not enabling it,
71# however, may confuse older FTP clients.
72#async_abor_enable=YES
73#
74# By default the server will pretend to allow ASCII mode but in fact ignore
75# the request. Turn on the below options to have the server actually do ASCII
76# mangling on files when in ASCII mode.
77# Beware that turning on ascii_download_enable enables malicious remote parties
78# to consume your I/O resources, by issuing the command "SIZE /big/file" in
79# ASCII mode.
80# These ASCII options are split into upload and download because you may wish
81# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
82# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
83# on the client anyway..
84#ascii_upload_enable=YES
85#ascii_download_enable=YES
86#
87# You may fully customise the login banner string:
88#ftpd_banner=Welcome to blah FTP service.
89#
90# You may specify a file of disallowed anonymous e-mail addresses. Apparently
91# useful for combatting certain DoS attacks.
92#deny_email_enable=YES
93# (default follows)
94#banned_email_file=/etc/vsftpd.banned_emails
95#
96# You may specify an explicit list of local users to chroot() to their home
97# directory. If chroot_local_user is YES, then this list becomes a list of
98# users to NOT chroot().
99#chroot_list_enable=YES
100# (default follows)
101#chroot_list_file=/etc/vsftpd.chroot_list
102#
103# You may activate the "-R" option to the builtin ls. This is disabled by
104# default to avoid remote users being able to cause excessive I/O on large
105# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
106# the presence of the "-R" option, so there is a strong case for enabling it.
107#ls_recurse_enable=YES
108#
109# This string is the name of the PAM service vsftpd will use.
110pam_service_name=vsftpd
111#
112# This option is examined if userlist_enable is activated. If you set this
113# setting to NO, then users will be denied login unless they are explicitly
114# listed in the file specified by userlist_file. When login is denied, the
115# denial is issued before the user is asked for a password.
116userlist_deny=YES
117#
118# If enabled, vsftpd will load a list of usernames, from the filename given by
119# userlist_file. If a user tries to log in using a name in this file, they
120# will be denied before they are asked for a password. This may be useful in
121# preventing cleartext passwords being transmitted. See also userlist_deny.
122userlist_enable=YES
123#
124# If enabled, vsftpd will display directory listings with the time in your
125# local time zone. The default is to display GMT. The times returned by the
126# MDTM FTP command are also affected by this option.
127use_localtime=YES
128#
129# If set to YES, local users will be (by default) placed in a chroot() jail in
130# their home directory after login. Warning: This option has security
131# implications, especially if the users have upload permission, or shell access.
132# Only enable if you know what you are doing. Note that these security implications
133# are not vsftpd specific. They apply to all FTP daemons which offer to put
134# local users in chroot() jails.
135chroot_local_user=YES
136#
137allow_writeable_chroot=YES
138#
139tcp_wrappers=YES
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.ftpusers b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.ftpusers
new file mode 100644
index 000000000..096142f5d
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.ftpusers
@@ -0,0 +1,15 @@
1# Users that are not allowed to login via ftp
2root
3bin
4daemon
5adm
6lp
7sync
8shutdown
9halt
10mail
11news
12uucp
13operator
14games
15nobody
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service
new file mode 100644
index 000000000..e27102026
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service
@@ -0,0 +1,9 @@
1[Unit]
2Description=Vsftpd ftp daemon
3After=network.target
4
5[Service]
6ExecStart=@SBINDIR@/vsftpd
7
8[Install]
9WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.user_list b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.user_list
new file mode 100644
index 000000000..d283e3d26
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.user_list
@@ -0,0 +1,20 @@
1# vsftpd userlist
2# If userlist_deny=NO, only allow users in this file
3# If userlist_deny=YES (default), never allow users in this file, and
4# do not even prompt for a password.
5# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
6# for users that are denied.
7root
8bin
9daemon
10adm
11lp
12sync
13shutdown
14halt
15mail
16news
17uucp
18operator
19games
20nobody