vsftp是very secure FTP的缩写,是linux下非常著名的FTP服务器软件。下面是服务器端的安装和配置过程。
一、安装vsftp
如果有yum工具的话可以直接安装: yum -y install vsftpd
如果没有软件包工具,可能就需要wget然后从源代码编译了。
二、配置vsftp
vsftp的主要配置文件位于/etc/vsftpd目录下。其中ftpusers文件是不能登陆ftp系统的用户黑名单,而user_list则对用户能否切换目录进行配置。主配置文件是vsftpd.conf。
anonymous_enable=NO #不允许匿名用户访问
local_enable=YES #可以让系统用户登陆。如果不想让某个系统用户访问ftp,可以把其添加到ftpusers文件里。
anon_upload_enable=YES #允许用户上传
anon_mkdir_write_enable=YES #允许用户新建文件夹
anon_other_write_enable=YES #允许用户删除
connect_from_port_20=YES #允许使用20端口像客户端发送数据
nopriv_user=nobody #设置vsftpd进程的执行者
ascii_upload_enable=YES
ascii_download_enable=YES #运行以ASCII编码进行上传下载
max_clients=20 #设置最大并发连接数
max_per_ip=3 #每个IP最多连接数
pasv_enable=YES #允许被动模式连接。由于用户或者服务器一般都在防火墙之后,请务必开启这个选项
pasv_min_port=xxxx
pasv_max_port=xxx #配置被动模式的端口号
local_root=/ftp #配置FTP的根目录
三、更改iptalbes和防火墙
主要是增加21端口和被动模式使用的端口
-A INPUT –dport 21 -j ACCEPT
-A INPUT –dport xxx:xxx -j ACCEPT
四、如果需要,要更改selinux配置
chcon -R -v /ftp -t public_content_t /ftp
进行了如上配置,不在ftpusers名单里的任意一个系统用户均可以访问服务器,并且其目录限定在/ftp下。为了控制权限,可以更改/ftp的属主为root:root,权限为755。然后在/ftp下建立一个pub目录,设置其权限为777,以供用户上传。
如果需要,可以建立一个系统用户,设置其bash为/sbin/nologin,设置其密码后,让其仅可以登陆FTP。
useradd -s /sbin/nologin -M ftp_user
passwd ftp_user