Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
When I start proftpd with "# /usr/sbin/proftpd" i get no errors, but when I tries to connect to the server, ftp localhost, i get this error message: 421 Service not available, remote server has closed connection.
Here is my log file of proftpd:
Failed binding to 0.0.0.0, port 21: Address already in use
Check the ServerType directive to ensure you are configured correctly.
I run linux slackware 9.0, installed proftpd 1.2.8 with a tgz package.
Here is the /etc/proftpd.conf
# This is a basic ProFTPD configuration file.
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal/anonymous operation.
ServerName "ProFTPD Default Installation"
ServerType standalone
#ServerType inetd
DefaultServer on
# Port 21 is the standard FTP port.
Port 21
# 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
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
# This next option is required for NIS or NIS+ to work properly:
#PersistentPasswd off
# Normally, we want files to be overwriteable.
<Directory /*>
AllowOverwrite on
</Directory>
# A basic anonymous FTP server configuration.
# To enable this, remove the user ftp from /etc/ftpusers.
<Anonymous ~ftp>
RequireValidShell off
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 50
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>
# An upload directory that allows storing files but not retrieving
# or creating directories.
# <Directory incoming/*>
# <Limit READ>
# DenyAll
# </Limit>
#
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
Originally posted by nocz When I wrote this 'netstat -pant | grep :21' I got this:
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 312/inetd
Inetd is taking care of the Proftpd,which means that proftpd is already "running" so you don't have to start it again.
I had the same trouble and looked at /etc/inetd.conf
There is a line(or should be):
ftp stream tcp nowait root /usr/sbin/tcpd proftpd
That's the line watching the port 21.
I guess that you have in /etc/proftpd.conf a line saying
ServerType Standalone
that line is making all the trouble.. change to
ServerType inetd
save
then ps -aux and look for a pid with /usr/sbin/inetd. Take the pid
and make a "kill -HUP numberofpid"
Then inetd will reread its config and start proftpd.
Apr 1 19:02:25 sun proftpd[3802]: sun.xxxx.be - Failed binding to 0.0.0.0, port 21: Address already in use
Apr 1 19:02:25 sun proftpd[3802]: sun.xxxx.be - Check the ServerType directive to ensure you are configured correctly.
The problem was due to the fact that inetd was listening of port 21, which is precisely the port use by proftp.
Here is the content of my the proftpd.conf file:
[root@sun etc]# more /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 inetd
DefaultServer on
# Allow FTP resuming.
# Remember to set to off if you have an incoming ftp for upload.
AllowStoreRestart on
# Port 21 is the standard FTP port.
Port 21
# 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.
<Directory />
AllowOverwrite on
</Directory>
# Needed for NIS.
PersistentPasswd off
# Default root can be used to put users in a chroot environment.
# As an example if you have a user foo and you want to put foo in /home/foo
# chroot environment you would do this:
#
# DefaultRoot /home/foo foo
Include /etc/proftpd-anonymous.conf
My problem came from Servertype which was Standalone and which should have been inetd (as I use inetd and do not run proftpd as daemon)
Finally, my proftpd-xinetd file looks like this:
[root@sun etc]# more /etc/xinetd.d/proftpd-xinetd
# default: off
# description: proftpd server, xinetd version. \
# Don't run the standalone version if you run \
# this!
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}
I have also deleted the FTP file from that directory.
Now you just have to adapt proftpd.conf file in order to grant / deny access to users.
I have spent evenings during 2 weeks trying to solve this. Hope this will also work fine for you with those indications.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.