CentOS 6.3 下 vsftp搭建

环境:CentOS6.3

ftp的三种用户模式

匿名用户:vsftp默认开启匿名用户,但只允许下载不允许上传;匿名用户anonymous或ftp;匿名用户目录/var/ftp,但实际上vsftp对匿名用户做了chroot

本地用户:vsftp默认开启本地用户登录;本地用户登录目录是其主目录,可以随意切换目录(可通过local_root=指定登录目录);一般通过系统权限控制用户访问

虚拟用户:需要手工配置,通过本地文件或数据库将ftp虚拟用户映射为一个系统用户,通过对此系统用户的控制实现更高的安全性

安装

yum install vsftpd

vsftp的主配置文件:/etc/vsftpd/vsftpd.conf

启动vsftp

service vsftpd start

开启防火墙

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

 service iptables restart

修改SELinux          //解决本地用户登录出现500错误问题(无法进入用户主目录)

setsebool –P ftp_home_dir 1

setsebool –P allow_ftpd_full_access 1

或关闭SELinux

vi /etc/sysconfig/selinux

SELINUX=enforcing改为disable

启用自启动

chkconfig --level 35 vsftpd on

常用配置

anonymous_enable=YES    //默认开启了匿名用户,请注意如果想要关闭匿名用户,不是简单的注释掉此选项(因为默认匿名用户开启),而是指定选项值为NO(anonymous_enable=NO)

ftpd_banner=                        //登录banner,默认未开

xferlog_enable=YES          //开启日志,默认开启

xferlog_file=/var/log/xferlog    //日志路径,默认未开

xferlog_std_format=YES    //日志格式,默认开启

anon_max_rate=100000  //匿名用户最大传输速率,默认不存在

local_max_rate=1000000  //本地用户最大传输速率,默认不存在

max_clients=xx    //服务器最大并发连接数

max_per_ip=x    //每IP最大连接数

pasv_enable=NO      //关闭被动模式,用以解决ftp工具和windows连接无法list问题(我并不想在防火墙上开放过多的端口提供客户端的被动连接,如果必须采用被动模式,请参考小僧的博客文章。需要注意的是采用被动模式时,windows连接时需要把internet option---advaneced--use passive mode取消勾选,否则windows默认采用被动模式连接;一般客户端工具连接时能够自动判断,不需要过多配置)

cmds_allowed=ABOR,CWD,LIST,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,CDUP,APPE,MDTM    //此选项用以指定可以使用的FTP交互命令,我去掉了DELE(删除)用以限制用户删除远程文件,具体命令参数请参http://www.nsftools.com/tips/RawFTP.htm

用户访问控制

1.指定用户禁止访问,其他用户允许访问

userlist_enable=YES

userlist_file=/etc/vsftpd/vsftpd.userlist

userlist_deny=YES

2.指定用户允许访问,其他用户禁止访问

userlist_file=/etc/vsftpd/vsftpd.userlist

userlist_deny=NO

本地用户chroot

1.指定用户不受限制,其他用户受限

chroot_local_user=YES      //启用本地用户chroot,启用后本地用户登录就被限制在其登录目录中(默认为其主目录) chroot_list_enable=YES      //启用例外列表 chroot_list_file=/etc/vsftpd/chroot_list    //例外列表路径

2.指定用户受限,其他用户不受限

chroot_local_user=NO      chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list

ftp常用命令

open  x.x.x.x    //打开到ftp服务器的连接

user xxx  //登录用户

cd    //改变远程登陆目录(服务器端)

lcd  //改变本地目录(客户端)

bin  //以二进制模式传输(通常用于程序等)

ascii  //asc码模式传输(默认方式,常用于传输文本类文件)

hash    //显示传输进度

bell    //传输完毕后响铃

prompt  //交互模式开关(多用于mget,mput关闭交互)

status  //显示当前状态(传输模式,是否显示传输进度,是否响铃,是否交互等)

get  //下载

mget  //批量下载

put    //上传

mput  //批量上传

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2013-05/84947.htm

原文地址:https://www.cnblogs.com/Darlin356230410/p/4472236.html