一.FTP是什么?(双通道协议)
FTP是FileTransferProtocol(文件传输协议)的英文简称。用于Internet上的控制文件的双向传
输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而
所有这些应用程序都遵守同一种协议来传输文件。
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据(实际数据)
21端口用于建立控制连接,并传输FTP控制命令(传输权限 元信息)
二.FTP的数据连接模式
主动模式:服务端会主动开启20端口,和客户端相连
被动模式:服务器随机开启端口,等待客户来连接
三.vsftpd的配置文件路径
服务配置文件:/etc/vsftpd/vsftpd.conf
黑名单配置文件:/etc/vsftpd/user_list
匿名用户FTP服务的默认根目录:/var/ftp
本地用户FTP服务的默认根目录:/home/账户同名文件
错误日志路径:/var/log/messages
四.vsftpd配置
1.配置关闭防火墙和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 #设置账户liwu的密码为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 进行账户密码登录
五.NFS共享服务
储存类型分为三种:
DAS:直连式存储,存储和主机是直连的。
NAS:网络附加存储(存储和管理空间都在远程)给一个文件系统可以看到文件不能更改,主机和设备距离相对较远。
SAN:存储区域网络,主机和存储设备距离相对较远,提供空间相当于多了一块硬盘。
NFS属于NAS功能,性能大于ftp等,因为NFS工作在内核而ftp是一个程序。
NFS端口不固定,依靠rpcbind,rpcbind端口固定111,NFS会把端口号告诉rpcbind,rpcbind相当于一个中转站,所以使用NFS时rpcbind服务必须正常。
NFS配置文件路径:/etc/exports
NFS工作原理
1.首先NFS服务端开启后会在自己的rpc(远程过程中调用端口号111)注册相关信息
2.nfs客户端想要连接nfs服务端会先去找rpc注册中心问nfs服务端,端口号是多少
3.rpc会告诉客户端,客户端知道端口号之后,向服务端发起连接
搭建NFS服务
服务端c7-3:172.16.23.12 ; 客户端c7-4:172.16.23.13
首先准备2台网络互通的服务器,将服务器的防火墙和selinux关闭。
#2台服务器均执行
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
在服务端安装nfs服务并创建共享文件夹/share,/share中创建内容为‘123’的a.txt文件。
服务端执行:
yum install -y nfs #安装nfs服务
mkdir /share #创建共享文件夹/share
cd /share #进入共享文件夹/share
echo '123'>a.txt #在/share文件夹中创建内容为123的a.txt文件
chmod 777 /share #给所有人share文件夹的读写执行权限
配置nfs配置文件将/share文件夹共享给所有人并给读权限
vim /etc/exports #打开nfs的配置文件
#配置文件内容:
/share *(rw,sync,no_root_squash) #注意权限和共享对象直接不能有空格
#共享文件绝对路径 *表示所有人,可写网段rw表示服务的读写权限,
sync表示同步内容,no_root_squash表示不压缩共享对象root用户权限,默认root用户在共享文件中创建文件夹的属主和属组为nfsnobody用户非root用户,权限被压缩
开启rpcbind、nfs服务并热加载配置文件内容,查看本机发布的nfs共享目录
客户端验证nfs功能