1. 判断服务器上是否安装了VSFTPD
rpm -qa | grep vsftpd
2. 启动FTP服务
systemctl start vsftpd.service
3.查看CentOS7服务器是否开启了21端口
//在win7中发出如下命令,如果一直得到“ftp:connect:连接超时”,就说明21端口没有开启
ftp 远程ip (如:46.100.106.18)
// 开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
4. 匿名用户登录测试
//安装好centos7之后存在一个匿名用户ftp,密码为空,这个用户是不安全,需要关闭
C:\Users\DHC>ftp 46.100.106.18
连接到 46.100.106.18。
220 (vsFTPd 3.0.2)
用户(192.168.31.117:(none)): ftp
331 Please specify the password.
密码:
230 Login successful.
ftp>
5. 关闭匿名用户
# 修改/etc/vsftpd/vsftpd.conf中如下内容
anonymous_enable=NO
# 重启FTP服务
systemctl restart vsftpd.service
C:\Users\DHC>ftp 46.100.106.18
连接到 46.100.106.18。
220 (vsFTPd 3.0.2)
用户(46.100.106.18:(none)): ftp
331 Please specify the password.
密码:
530 Login incorrect.
登录失败。
6. 建立ftp虚拟宿主帐户
· 新建一个不能登录系统用户. 只用来登录ftp服务
useradd ftpuser -s /sbin/nologin #创建一个没有登录界面的新用户
passwd ftpuser # 密码为dhc890dhc
C:\Users\DHC>ftp 46.100.106.18
连接到 46.100.106.18。
220 (vsFTPd 3.0.2)
用户(46.100.106.18:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
7. 修改selinux
· 查看能否上传成功
C:\Users\DHC>ftp 46.100.106.18
连接到 46.100.106.18。
220 (vsFTPd 3.0.2)
用户(46.100.106.18:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
ftp> put d:\1.xlsx
200 PORT command successful. Consider using PASV.
553 Could not create file.
· 查看状态
getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
· 修改状态
扫描二维码关注公众号,回复:
114269 查看本文章
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
systemctl restart vsftpd.service
· 再次上传即可成功
ftp> put d:\1.xlsx
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 11443 字节,用时 0.00秒 5721.50千字节/秒。
8. 将VSFTPD设置为开机启动
chkconfig vsftpd on
二、与nginx整合
1. 修改Nginx的配置文件
server {
listen 80;
server_name 46.100.106.18;
location / {
root /home/ftpuser/www;
index index.html index.htm;
}
}
2. 创建www/images文件夹,并且上传图片到images文件夹中
mkdir -p /home/ftpuser/www/images
// 通过filezilla上传图片即可
3. 改变文件夹的拥有者及权限
chown -R ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser
4. 重启Nginx服务
/usr/local/nginx/sbin/nginx -s reload
5. 测试是否成功
http://46.100.106.18/images/fxdl.jpg
...
...