vsftpd 版本 vsftpd 2.2.2,来自阿里云
执行命令安装
sudo yum -y install vsftpd
然后在根目录创建一个文件夹 ftpfile
sudo mkdir ftpfile
然后给ftp服务创建一个用户,这个用户只有上传文件到 ftpfile 的权限,没有登录权限
sudo useradd ftpuser -d /ftpfile/ -s /sbin/nologin
赋予ftpuser
权限
sudo chown -R ftpuser.ftpuser /ftpfile/
如下图
查看一下权限
ll | grep ftp
如下图
修改一下 ftpuser
的密码 执行下面命令 并安提示输入两次密码即可
sudo passwd ftpuser
在 ftpfile 文件夹下创建一个文件 index,如下图
接下来配置 vsftpd
whereis vsfptd // 查看vsfpd 在哪
我们需要将 ftp 服务器指向我们刚刚创建的 ftpfile 这个目录,并且将用户配上
如下图
进入 vsftpd.conf
文件,按斜杠符号 /
输入banner
再按回车 定位到 banner
如下图
如下图 在此添加local_root=/ftpfile
表示把本地目录指向我们创建的文件夹 ; 匿名访问anno_root=/ftpfile
; 使用本地时间 use_localtime=yes
按 斜杠符号/
输入 chroot_list
找到下面的节点,打开红框中的节点(去掉#
)
关闭匿名访问
按斜杠符/
输入 anon
定位到如下节点 并将值该为 NO
在 vsftpd.conf
文件最下面 添加被动传输的接口范围 (ftp上传文件的时候需要用到的),这里可以不设置,如果不设置的话,防火墙就不能设置的太严格
pasv_min_port=61001 pasv_max_port=62000
如下图
保存退出:wq
进入chroot_list_file
路径/etc/vsftpd/
创建文件并添加用户 ftpuser
(我们上面创建的用户)
sudo vim chroot_list
启动 vsftpd
sudo service vsftpd restart
编辑防火墙
sudo vim /etc/sysconfig/iptables
如下图 开放相应端口
重启防火墙成功
sudo service iptables restart
网页测试
这里测试登录也是ok的
sudo vim /etc/selinux/config
命令让其生效
sudo set enforce 0
另外 这里设置成NO
否则ftp 登录的时候可以访问上一级目录