FTP服务器搭建
安装FTP
a. 安装FTP
1. 检查是否已安装vsftpd服务器:rpm -qa |grep vsftpd
若未安装则执行:yum install vsftpd –y
2. 设置开机自启动:chkconfig vsftpd on
3. 启动服务:service vsftpd start,浏览器访问ftp://ip地址或者service vsftpd status查看服务启动状态,如下图则表示启动成功
b. 修改配置文件
1. 执行cd /etc/vsftpd/ 用vi打开vsftpd.conf 配置文件
2. 找到chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list和chroot_local_user=YES去掉#号注释, 在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
3. 在最后一行添加如下内容:connect_from_port_20=YES主动模式的注释掉,PASV_enable=YES 开启被动模式pasv_min_port=3000 (设置被动模式的端口范围)pasv_max_port=3010(设置被动模式的端口范围)在防火墙配置文件iptables中添加端口,具体详见这里
4. 配置防火墙:vim /etc/sysconfig/iptables,添加如下代码:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000:3010 -j ACCEPT 重启命令见,备注
5. 添加ftp用户,如设置根目录为home/rphcp/ftpuser,禁止其用户用ssh登录和访问其他目录:useradd -d home/rphcp/ftpuser -g ftp -s /sbin/nologin ftpuser(注:如果ftp用户是通过root权限创建的,需将文件的写权限和用户组修改为ftp用户下才可以登录)
6. 设置密码:passwd ftpuser xxx
7. 关闭selinux,Vim打开/etc/selinux/config,注释掉SELINUX=enforcing 添加SELINUX=disable,保存之后执行:setenforce 0
8. 执行命令:setsebool -P ftp_home_dir 1 、setsebool -P allow_ftpd_full_access 1
9. service vsftpd restart重启ftp服务,登录验证:host:ip地址,port:21
Nginx配置
1. nginx.conf顶部的user nobody改为user root,并放开注释,否则403禁止访问
2. http下加
upstream ftpuser{
server ip:21;
}
3. Server下加
location /存储资源路径/ {
root /ftpuser;
}
4. 保存返回,执行nginx –t 测试是否配置正确,nginx –s reload 平滑重启nginx
5. 浏览器访问:https://ip/资源路径,输入用户名密码即可正常访问
备注
重启防火墙命令:
1. 重启后永久性生效:
关闭:chkconfig iptables off
开启:chkconfig iptables on
2. 即时生效,重启后失效
关闭:service iptables stop
开启:service iptables start
vsftpd常用命令:
service vsftpd start 开始ftp服务
service vsftpd status 查看ftp服务启动状态
service vsftpd stop 停止ftp服务
service vsftpd restart 重启ftp服务