Linux网络第二章:FTP服务器原理及FTP服务器搭建
目录
1、FTP协议介绍
2、FTP服务原理
3、配置文件路径
二、FTP服务器搭建
1、搭建环境
2、检测环境并安装ftp服务
3、备份配置文件并添加用户
4、ftp配置文件解析
5、配置本地用户访问ftp
6、开启ftp服务
7、验证服务
8、排错思路
一、FTP服务
1、FTP协议介绍
FTP即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。
使用端口TCP的20、21端口:
20端口:用于建立数据连接,传输文件数据。
21端口:用于建立控制连接。
缺点:不能主动同步数据需要手动同步。
2、FTP服务原理
FTP服务分为2种类型,主动连接和被动连接。
主动连接原理:
被动连接原理:
3、配置文件路径
服务配置文件:/etc/vsftpd/vsftpd.conf
黑名单配置文件:/etc/vsftpd/user_list
匿名用户FTP服务的默认根目录:/var/ftp
本地用户FTP服务的默认根目录:/home/账户同名文件
错误日志路径:/var/log/messages
二、FTP服务器搭建
1、搭建环境
centos 7.4 系统虚拟机一台,配置关闭防火墙和selinux。
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
2、检测环境并安装ftp服务
rpa -q vsftpd #检查是否安装ftp服务
yum -y install vsftpd #安装ftp服务
3、备份配置文件并添加用户
useradd lisi #添加lisi用户
useradd liwu #添加liwu用户
echo '123456' |passwd --stdin lisi #设置账户lisi的密码为123456
echo '123456' |passwd --stdin liwu #设置账户lisi的密码为123456
cd /etc/vsftpd/ #进入ftp配置文件目录
cp vsftpd.conf vsftpd.conf.bak #备份配置文件
4、ftp配置文件解析
anonymous_enable=YES
#允许匿名用户访问(账户名为ftp,不需要密码),默认允许建议关闭
local_enable=YES
#允许本地用户访问(本地可登录账户)
write_enable=YES
#开放服务器的写权限,上传文件到服务器必须开启,默认开启
local_umask=022
#本地用户文件权限反掩码,文件权限777-umask,文件权限666-umask
dirmessage_enable=YES
#开启日志消息,默认开启
xferlog_enable=YES
#开启上传现在日志,默认开启
connect_from_port_20=YES
#确保端口数据传输来自20端口,默认开启
xferlog_std_format=YES
#日志文件设置为标准ftpd xferlog格式,默认开启,日志位置/var/log/xferlog
chroot_local_user=YES
#将用户访问权限限制在用户自己的根目录下,默认关闭。
allow_writeable_chroot=YES
#允许被限制用户对自己根目录进行写操作
anon_root=/var
#设置本地用户的默认根目录为/var,注意需要此目录给其他用户读写权限才可上传下载
userlist_enable=YES
#开启user_list用户列表,文件位置/etc/vsftpd/user_list,默认关闭
userlist_deny=YES
#若user_list是开启状态userlist_deny=YES是黑名单文件中的用户不能登录,默认关闭
#若user_list是开启状态,userlist_deny=NO则只允许user_list中的用户登录
5、配置本地用户访问ftp
6、开启ftp服务
systemctl start vsftpd #开启vsftpd服务
systemctl status vsftpd #查看vsftpd服务状态
7、验证服务
①将/mnt目录其他用户权限配置读写权限
chmod 766 -R /mnt #修改/mnt目录用户其他权限具有读写权限
②将liwu用户配置到黑名单中user_list文件中,文件位置/etc/vsftpd/user_list
③在/mnt下创建一个a.txt文件内容为123
④打开自己的windows计算机cmd窗口输入ftp +服务器ip 进行账户密码登录
⑤下载到本地的文件路径在C:\Users\下
⑥将/mnt下的a.txt删除然后将本地的a.txt上传上去。
⑦、使用黑名单用户liwu尝试登录
8、排错思路
①首先查看本机防火墙以及ftp防火墙和selinux是否关闭
②检查配置文件内容是否有错误
③查看服务状态是否正常,不正常查看/var/log/messages日志排错
④匿名用户的默认根目录不能有读权限否则连接不上ftp服务器
⑤可以get但是不能put查看根目录的权限和属主情况
weixin_42758849: 全位为的才1定义为广播地址,A类地址哪里你写错了
Maple987: PC1和PC2ping的时候显示无法回显
好的不坏: 可以了,可能是之前安装的宝塔应用没有卸载干净,有冲突了,重新建了个虚拟机,再装一边就正常了
asddASD323432: 你装的什么版本呢,4.0之前的好像zbx的都不变绿。你直接自定义监控项先测试一下主页面会不会告警。
wxj196107: 不好意思再打扰一下,我这边看日志没有报错,但是网页依然显示不可用,Zbx没有变绿