Bug 65438

Summary: anonymous-only broken on vsftpd-1.0.1-5
Product: [Retired] Red Hat Linux Reporter: Steven Pritchard <steve>
Component: vsftpdAssignee: Bill Nottingham <notting>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: jbayes, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-12-14 00:31:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Steven Pritchard 2002-05-24 05:00:12 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020408

Description of problem:
"anonymous_enable=YES" with "local_enable=NO" allows *no* logins, instead of
only allowing anonymous logins as expected (and documented).  Anonymous logins
work again if local_enable is set to YES.

In addition, if /etc/passwd in the chroot'd area does not have an entry for the
ftp user, vsftpd will die with "500 OOPS: str_getpwnam".

Rebuilding the rpm without vsftpd-1.0.1-anon.patch fixes the problem (both issues).

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Set "anonymous_enable=YES" and "local_enable=NO" in /etc/vsftpd.conf.
2. Attempt to login via ftp as "ftp" or "anonymous".


Actual Results:  Result will be "530 Login incorrect." or "500 OOPS:
str_getpwnam" depending on if /etc/passwd in the chroot'd directory has an entry
for the ftp user.

Expected Results:  "230 Login successful. Have fun.", which happens when the rpm
is rebuilt without vsftpd-1.0.1-anon.patch.

Additional info:

Comment 1 Joe Bayes 2002-06-02 00:52:51 UTC
I have a similar problem, except that I can't get anonymous logins to work no
matter what the value of local_enable. With anonymous_enable=YES and
local_enable=YES, I get the following:

spoo:~$ ftp spoo.mminternet.com
Connected to spoo.mminternet.com (216.86.195.37).
220 ready, dude (vsFTPd 1.0.1: beat me, break me)
Name (spoo.mminternet.com:jbayes): anonymous
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> 

Shouldn't I be getting something like, "anonymous access allowed, please send
email address as password", or even "anonymous access denied"?

Comment 2 Joe Bayes 2002-06-02 06:55:05 UTC
Steve sent me a copy of his rpm, which I installed, and got behavior similar to
what he described. I then noticed that /etc/passwd lists ftp's home dir as
/var/ftp, and that didn't exist (I've always used /home/ftp). I did a 
mkdir /var/ftp, and now I get:

spoo:~$ ftp spoo.mminternet.com
Connected to spoo.mminternet.com (216.86.195.37).
220 ready, dude (vsFTPd 1.0.1: beat me, break me)
Name (spoo.mminternet.com:jbayes): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 221 Goodbye.
spoo:~$ 

I reinstalled the original RedHat rpm, and I get the same behavior. I don't have
a pristine 7.3 setup (it's been upgraded many times since 5.?), so I  may be
missing something, but it seems like something should make sure that /var/ftp
exists. rpm -q --redhatprovides /var/ftp returns anonftp...if anonftp provides
/var/ftp, then shouldn't other ftp servers provide it also? 

My only other beef is that the server should ask for your email address when you
type "anonymous" in the login line, instead of "Please specify the password". 



Comment 3 Bill Nottingham 2002-12-14 00:31:01 UTC
Should be better in 1.1.3-1.