Thread: Ftp server
View Single Post
Posts: 2,014 | Thanked: 1,581 times | Joined on Sep 2009
#31
Originally Posted by No!No!No!Yes! View Post
My proftpd configuration /opt/etc/proftpd.conf is:
Code:
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
<Limit SITE_CHMOD>
  DenyAll
</Limit>

RootLogin on
DelayTable /home/opt/var/proftpd/proftpd.delay
PidFile /home/opt/var/proftpd/proftpd.pid
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>
#</Anonymous>
Nokia-N900-42-11:/etc/event.d#
My startup proftpd job /etc/event.d/proftpd is:
Code:
Nokia-N900-42-11:/etc/event.d# cat /etc/event.d/proftpd
start on stopped rcS

console output

respawn

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
    fi
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
Nokia-N900-42-11:/etc/event.d#
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!!!

Code:
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
Nokia-N900-42-11:/tmp#
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:

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

console output

respawn

pre-start script
    # Let's wait till "opt" stuff gets mounted
    while [ ! -e /home/opt/sbin/proftpd ]; do
       sleep 5
    done
    # "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
    fi
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
And NOW WE ARE TALKING!!!
Proftpd server gets automagically started on each reboot!!!
Sweetness - The new package should be there just as soon as the automatic pushy thing pushes it
__________________
Class .. : Power Poster, Potential Coder
Humor .. : [*********] Alignment: Chaotic Evil
Patience : [***-------] Weapon(s): +2 Logic Mace
Agro ... : |*****-----] Relic(s) : G1, N900