--- vsftpd.service 可以是其他服务哦 启动服务:systemctl start vsftpd.service 关闭服务:systemctl stop vsftpd.service 重启服务:systemctl restart vsftpd.service 显示服务的状态:systemctl status vsftpd.service 在开机时启用服务:systemctl enable vsftpd.service 在开机时禁用服务:systemctl disable vsftpd.service 查看服务是否开机启动:systemctl is-enabled vsftpd.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl --failed 复制代码
firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running) systemctl stop firewalld.service #停止firewall systemctl start firewalld.service #开启防火墙 systemctl disable firewalld.service #禁止firewall开机启动 systemctl enable firewalld.service #开机开启防火墙 firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效) #开启80端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent #删除80端口 firewall-cmd --list-ports #查看已开放的端口(默认不开放任何端口) #当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置: systemctl restart firewalld # 重启firewalld服务 firewall-cmd --reload # “重载配置文件” - 建议使用 - 重载配置文件之后不会断掉正在连接的tcp会话,而重启服务则会断开tcp会话 复制代码
Centos7 下firewall的学习及使用:
- FireWall 域的概念,较详细,看此文章 - 向域添加服务、 - 为域打开端口 上面80端口例子 - 编写手动服务:服务仅仅是具有相关名称和描述的端口集合。使用服务比端口更容易管理。**重要了解** 在/usr/lib/firewalld/services,随便拷贝一个xml文件到一个新名字,比如myservice.xml,把里面的 <?xml version="1.0" encoding="utf-8"?> <service> <short>Transmission-client</short> <description>Transmission is a lightweight GTK+ BitTorrent client.</description> <port protocol="tcp" port="51413"/> </service> short改为想要名字(这个名字只是为了人来阅读,没有实际影响。) 重要的是修改 protocol和port。 修改完保存。我的经验是这是要重启firewalld服务,否则可能提示找不到刚才新建的service。 然后把新建的service添加到firewalld firewall-cmd --permanent --add-service=myservice - 创建自己的域 - 实现伪装IP 和 端口转发 **重要了解** 端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。 转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。 如果配置好端口转发之后不能用,可以检查下面两个问题: 比如我将 80 端口转发至 8080 端口,首先检查本地的 80 端口和目标的 8080 端口是否开放监听了 其次检查是否允许伪装 IP,没允许的话要开启伪装 IP firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080 firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1 firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口 当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问, 然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。 端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。 复制代码
简单了解使用
CentOS7添加/删除用户和用户组
Linux命令: useradd/adduser 新增用户
1、安装 yum -y install vsftpd
2、FTP主动模式与FTP被动模式
3、防火墙开启21端口
iptables centos7.2
永久开启ftp服务,ftp服务默认端口为21 firewall-cmd --add-service=ftp --permanent firewall-cmd --reload 复制代码
4.1、匿名登录(了解)
4.2、本地用户登录(了解)
4.3、虚拟用户登录(了解)
5、修改selinux
6、设置开机启动 vsftpd
服务
systemctl enable vsftpd.service 复制代码
ftp服务安装完后 以下是一些文件的位置约定: /usr/sbin/vsftpd ---- VSFTPD的主程序 /etc/rc.d/init.d/vsftpd ---- 启动脚本 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/pam.d/vsftpd ---- PAM认证文件 /etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件 /etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件 /var/ftp ---- 匿名用户主目录 /var/ftp/pub ---- 匿名用户的下载目录 复制代码
/etc/vsftpd目录下配置文件讲解
1、ftpusers
#这里设置黑名单 加入这里的用户都无法访问 复制代码
2、user_list
#控制配置,这个既可以是黑名单,也可以是白名单 当vsftpd.conf中 userlist_enable=YES 时,为黑名单,加入这里的用户无法访问 当vsftpd.conf中 userlist_enable=NO 时,为白名单,加入这里的用户才能访问 复制代码
3、vsftpd.conf 配置文件
重要,太多了,自己搜 复制代码
vsftpd 配置:chroot_local_user与chroot_list_enable详解
了解 复制代码
4、chroot_list
为VSFTP用户指定登录后的目录
重要,下面步骤用到 复制代码
可在window cmd下了解学习使用 另外在下面的步骤中,当搭建完vsftpd服务后,要进行用户登录访问ftp测试。 如果有错误,使用cmd命令可以返回详细错误信息 (如我遇到的错误提示[vsftpd:500 OOPS: vsftpd: ...](https://www.cnblogs.com/zuikeol/p/9647048.html)) 用网页、文件夹登录根本不给相关信息 复制代码
静态资源服务器的资源上传:前端上传图片给后台服务器A,A需要将图片传给图片服务器B
根据了解,目前解决方案有三种:
java上传文件到ftp服务器(这个方案需要在静态资源服务器安装ftp服务)
java使用HttpURLConnection上传文件到远程服务器
java使用HttpClient通过Post上传文件
后两种可能应该需要在图片服务器B上编写发布相关后台服务来接收资源(待考证),目前B服务器没有计划发布服务。 故使用第一种方案。
可以搜索这些方案进行了解
在服务器B搭建ftp服务,并开通用户 uploadexample ,并配置只能操作指定文件夹/home/uploadexample,进行上传资源操作。
1、yum安装好ftp服务
此时匿名用户登录等应该都能登录 复制代码
2、/etc/vsftpd目录下修改vsftpd.conf 配置文件
anonymous_enable=NO #关闭匿名登录 #打开注释 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #添加下面 #https://www.cnblogs.com/zuikeol/p/9647048.html allow_writeable_chroot=YES #添加读取用户配置目录(注:本行配置默认没有需要手动输入) user_config_dir=/etc/vsftpd/userconf #开启被动模式及设置端口段 pasv_enable=YES pasv_min_port=30000 pasv_max_port=30999 复制代码
3、添加用户、 添加用户ftp相关权限设置
新建用户。如果现存用户不用新建,另外要确定不在黑名单ftpusers(user_list-yes)中 # adduser uploadexample //新建用户 # passwd uploadexample //给用户设置密码 添加上用户uploadexample,一行一个用户,保存 # vi /etc/vsftpd/chroot_list 建立用户配置目录 # mkdir /etc/vsftpd/userconf 建立用户登陆后的目录,也就是允许用户操作的目录 若存在不用创建 # mkdir /home/uploadexample 添加用户配置文件 注:有很多用户时,需要建每个用户相对应的文件 # vi /etc/vsftpd/userconf/uploadexample 添加内容FTP用户登陆后指定的目录: local_root=/home/uploadexample 复制代码
4、配置成功 重启ftp服务,并测试。