centos 5.3 x86_64 with development tools
yum install vsftpd
默认情况下允许匿名登陆
如果想允许本地用户登陆,可以这么修改配置文件中
cd /etc/vsftpd
vim vsftpd.conf
加入userlist_deny=NO#它代表的意思是允许在/etc/vsftpd/user_list中的用户可以访问
#但要注意一点,在user_list中的用户不能在ftpusers中,如果在,把ftpusers中的相应记录注释掉就可以了,如root用户
以上修改完成之后
重启ftp服务
service vsftpd restart
验证
[root@localhost vsftpd]# ftp -n localhost
Connected to localhost.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
ftp> user root
331 Please specify the password.
Password: #输入root用户的密码,
230 Login successful.
ftp>
当然以上做法是不安全的啊,只是一个配置方法
配置一个用户本地用户只让它有上传功能
useradd ftpupload -s /sbin/nologin #保证此用户不能用ssh登陆
passwd ftpupload
#在userlist_list中加入ftpupload
chroot_local_user=YES
userlist_deny=NO
chroot_list_file=/etc/vsftpd/chroot_list
#在chroot_list中加入ftpupload
local_root=/var/ftproot
download_enable=NO
另外注意:要修改目录权限
chown ftpupload:ftpupload /var/ftproot
[root@localhost vsftpd]# ftp -n localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
ftp> user ftpupload
331 Please specify the password.
Password:
230 Login successful.
ftp> put
(local-file) /root/scsrun.log
(remote-file) ./scsrun.log
local: /root/scsrun.log remote: ./scsrun.log
227 Entering Passive Mode (127,0,0,1,233,244)
150 Ok to send data.
226 File receive OK.
213 bytes sent in 0.01 seconds (20 Kbytes/s)
ftp> ls
227 Entering Passive Mode (127,0,0,1,202,189)
150 Here comes the directory listing.
-rw-r--r-- 1 502 502 213 Sep 03 12:11 scsrun.log
226 Directory send OK.
ftp>