一步一个脚印
分类: LINUX
2013-04-05 22:16:36
yum install vsftpd
service vsftpd start
chkconfig vsftpd on
vi /etc/vsftpd/vsftpd.conf #修改或添加以下配置
anonymous_enable=NO #设定不允许匿名访问
chroot_list_enable=YES #用户不能离开主目录
xferlog_file=/var/log/xferlog #日志保存路径,文件默认不存在,必须手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能。
local_enable=YES #设定本地用户可以访问。
#注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
#改为被动模式
pasv_enable=YES
pasv_min_port=49000
pasv_max_port=50000
service vsftpd restart
iptables防火墙设置
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 49000:50000 -j ACCEPT
Vsftpd虚拟用户支持的重要配置,默认vsftpd.conf中没有这些设定,需要自己手动添加。
guest_enable=YES #启用虚拟用户功能。
guest_username=ftp #指定虚拟用户的宿主用户为系统中已存在的ftp用户
user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户个人配置文件的存放目录。
# (配置文件名=虚拟用户名)
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
yum install db4 db4-utils #查看是否已安装认证工具
创建虚拟用户名和密码的临时文本文件
vi /etc/vsftpd/vuser_passwd.txt #奇行是用户名,偶行是密码
ftpuser1
ftpuser1
ftpuser2
ftppass2
生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
等全部用户建好以后,可以删除文件/etc/vsftpd/vuser_passwd.txt
vi /etc/pam.d/vsftpd #注释掉所有原来语句,增加以下两行
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
创建虚拟用户个性配置文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1 #用户1的配置文件
local_root=/data/www/project #虚拟用户的根目录
write_enable=YES #可写
anon_umask=022 #掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES