vsftpd:是"very secure FTP daemon"的缩写,完全免费,开源的ftp服务器软件.
rpm -qa| grep vsftpd检查是否安装vsftpd软件
默认配置文件在/etc/vsftpd/vsftpd.conf
是否需要使用sudo权限执行根据具体环境来定.
安装
- 执行命令yum -y install vsftpd
- 在根目录创建一个用来ftp访问的文件夹 mkdir 文件夹名称 如:mkdir ftpfile
创建用户
- 创建ftp用户, 创建用户访问的文件夹和此用户不用来登录
sudo useradd 用户名 -d /文件夹名 -s /sbin/nologin 如:
sudo useradd ftpuser -d /ftpfile -s /sbin/nologin
权限
- 给用户访问权限
- chown -R 用户名.用户组 /文件夹 将文件的用户名和用户组都改为ftp用户
如:sudo chown -R ftpuser.ftpuser /ftpfile
重设密码
- 重设ftpuser密码: passwd ftpuser
修改配置文件
命令whereis vsftpd查看vsftpd的位置
-
vim /etc/vsftpd/vsftpd.conf编辑配置文件
local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
anonymous_enable=NO(不允许匿名用户登录,可以设置访问)
local_enable=YES(允许本地用户登录)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
pasv_min_port=61001(被动模式使用端口范围最小值–方便防火墙定义规则,也可以不设置)
pasv_max_port=62000(被动模式使用端口范围最大值–方便防火墙定义规则,也可以不设置 -
在/etc/vsftpd/下创建chroot_list文件 并且在文件中添加ftp账号的名称(如果不添加账号名称.则账号可以访问上级目录)
防火墙添加规则
- 防火墙添加规则 vim /etc/sysconfig/iptables
#vsftp
-A INPUT -m state --state NEW -m tcp -p tcp --dport 61001:62000 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 61001:62000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
关键一步
修改selinux配置文件 vim /etc/selinux/config 修改SELINUX=disable
执行setenforce 0命令
重启
重启防火墙 service iptables restart
重启vsftpd service vsftpd restart
加入管理列表 chkconfig --add vsfptd(已加入)
设置自动启动chkconfig vsftpd on 检查chkconfig --list vsftpd
测试
ftp://ip地址可以测试
vsftpd配置文件
- 根据需求配合文档搭建需要的vsftpd