一、安装
# yum -y install vsftpd
二、编辑vsftpd的配置文件
# vi /etc/vsftpd/vsftpd.conf
清空, 添加如下内容:
listen=YES
background=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to ftptest FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
三、创建管理帐户文件
# touch /etc/vsftpd/vsftpd.chroot_list
四、启动vsftpd服务
# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
一般启动正常
五、创建ftp帐号
ftp用户我们来使用系统用户, 现在我们来添加用户ftptest, 指向目录/home/ftptest, 权限是nologin, 就是没给shell权限, 不影响ftp的
# useradd ftptest -d /home/ftptest -s /sbin/nologin
设置帐号密码
# passwd ftptest
如果显示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
不用理会, 只是告诉你, 你指向的目录已经存在了, 这不影响
六、设置目录及其文件的属组, 你也可以使用别的分组方式
# chown -R ftptest.ftptest /home/ftptest
七、把用户ftptest加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录
# echo 'ftptest' >> /etc/vsftpd/vsftpd.chroot_list
八、重启服务
# service vsftpd restart
九、检查开放端口21(这步很重要,影响访问)
# /sbin/iptables -I INPUT -p tcp --dport 21-j ACCEPT
或者在/etc/sysconfig/iptables中增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
将更改进行保存
# /etc/rc.d/init.d/iptables save
重启防火墙以便改动生效:(或者直接重启系统)
# /etc/init.d/iptables restart