I'm trying to get
vsftpd on my freshly installed Redhat 9 server to work via xinetd, mainly
because I want to restrict ftp access to the localhost (for a php script). I
tried using hosts.allow and hosts.deny like I did in the past, but I couldn't
get it to work (I cleared there contents in the end). So I decided to use xinetd
and downloaded the xinetd/vsftpd script and installed in /etc/xinetd.d. It
seemed to work at first, but now I keep getting "500 OOPS: could not bind
listening socket" messages when I try to connect locally. It worked before I
added the only_from statement in /etc/xinetd.d/vsftpd. After some tweaking
(different IP's, subnets etc) the ftp daemon was acting weird and I removed the
only_from statement in /etc/xinetd.d/vsftpd. Restarted xinetd a few times with
"service xinetd restart", rebooted etc. But couldn't get it working anymore (the
500 error). I even removed /etc/xinetd.d/vsftpd and installed a fresh copy,
reinstalled the RPM (removing /etc/init.d/vsftpd every time). I don't get any
errors in /var/log/messages.
So I did a netstat
-an only to discover something listening on 0.0.0.0:21. So I stopped xinetd
did netstat again, but now 0.0.0.0:21 is gone. So how come xinetd is
stating that it could not bind a listening socket? Or I'm slowly realizing that I
don't fully comprehend the whole inetd/xinetd setup of my machine. Is it so that
some services are still started trough inetd, while others start trough xinetd?
What's the point of this? And since I can't find a inetd.conf file anymore how
do I figure out how inetd is configured? Can anyone point me in the right
direction? I'm especially curious if someone can explain the Redhat 9 setup for
inetd/xinetd, non-standard location of conf files etc.
Thanks in
advance.