Thread: Ftp server
View Single Post
No!No!No!Yes!'s Avatar
Posts: 700 | Thanked: 846 times | Joined on Nov 2009
Originally Posted by Bratag View Post
/opt/sbin/proftpd - however the existing build doesnt have the config file in the right spot (you of course have to configure the config file regardless of where it is). I am rebuilding it now in an effort to fix the pathing on the config as we speak
My proftpd configuration /opt/etc/proftpd.conf is:
Nokia-N900-42-11:/etc/event.d# cat /opt/etc/proftpd.conf
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21

# Don't use IPv6 support by default.
UseIPv6                         off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30

# Set the user and group under which the server will run.
User                            nobody
Group                           nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite          on

# Bar use of SITE CHMOD by default

RootLogin on
DelayTable /home/opt/var/proftpd/proftpd.delay
PidFile /home/opt/var/proftpd/
ScoreboardFile /home/opt/var/proftpd/proftpd.scoreboard

## A basic anonymous configuration, no upload directories.  If you do not
## want anonymous users, simply delete this entire <Anonymous> section.
#<Anonymous ~ftp>
#  User                         ftp
#  Group                                ftp
#  # We want clients to be able to login with "anonymous" as well as "ftp"
#  UserAlias                    anonymous ftp
#  # Limit the maximum number of anonymous logins
#  MaxClients                   10
#  # We want 'welcome.msg' displayed at login, and '.message' displayed
#  # in each newly chdired directory.
#  DisplayLogin                 welcome.msg
#  DisplayChdir                 .message
#  # Limit WRITE everywhere in the anonymous chroot
#  <Limit WRITE>
#    DenyAll
#  </Limit>
My startup proftpd job /etc/event.d/proftpd is:
Nokia-N900-42-11:/etc/event.d# cat /etc/event.d/proftpd
start on stopped rcS

console output


pre-start script
    df -k > /tmp/upstart.log
    if [ ! -d /home/opt/var/proftpd ] ; then
        mkdir /home/opt/var/proftpd
        chmod 755 /home/opt/var/proftpd
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
First line in pre-start script section of /etc/event.d/proftpd is:
df -k > /tmp/upstart.log
I want to see if relevant "opt" file systems are already mounted... well guess what... they are not!!!

Nokia-N900-42-11:/tmp# cat /tmp/upstart.log
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                  233224    163652     65292  71% /
ubi0:rootfs             233224    163652     65292  71% /
tmpfs                     1024         4      1020   0% /tmp
tmpfs                      256         8       248   3% /var/run
none                     10240        80     10160   1% /dev
tmpfs                    65536         4     65532   0% /dev/shm
I then try to put some delay inside /etc/event.d/proftpd file and wait for the existence of "opt"-ed /home/opt/sbin/proftpd executable:

Nokia-N900-42-11:/tmp# vi /etc/event.d/proftpd
start on stopped rcS

console output


pre-start script
    # Let's wait till "opt" stuff gets mounted
    while [ ! -e /home/opt/sbin/proftpd ]; do
       sleep 5
    # "opt" stuff should be mounted when script reaches here

    df -k > /tmp/upstart.log
    if [ ! -d /home/opt/var/proftpd ] ; then
        mkdir /home/opt/var/proftpd
        chmod 755 /home/opt/var/proftpd
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
Proftpd server gets automagically started on each reboot!!!

Last edited by No!No!No!Yes!; 2009-12-08 at 21:30.

The Following 2 Users Say Thank You to No!No!No!Yes! For This Useful Post: