目录
5.设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
一、NFS 共享存储服务
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS服务的实现依赖于RPC (Remote Process Call, 远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
二、NFS的配置文件
/etc/exports .
格式为:
共享的目录位置客户机地址(权限选项)
1.在文件服务器使用NFS 发布共享资源
(1)安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
(2)设置共享目录
mkdir -p /opt/ 目录
chmod 777 / opt/ 目录
vim /etc/exports
/opt/目录 网络地址/24 (rw, sync, no_ _root_ squash)
/var/ftp/pub 网络地址(ro) 网络地址 (rw)
/share * (rW, sync)
客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符。
"rw”表示允许读写,“ro” 表示为只读。
sync:表示同步写入到内存与硬盘中。
no_ root_ squash :表示当客户机以root身份访问时赋予本地root权限(默认是root_ squash)。
root_ squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
(3)其它常用选项
all_squash:所有访问用户都映射为匿名用户或用户组。
async:将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_ check (默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_ subtree_ check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
(4)启动NES服务程序
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind .
systemctl enable nfs
netstat -anpt
grep rpcbind
查看rpcbind端口是否开启,rpcbind服 务默认使用tcp端口111
(5)查看本机发布的NFS共享目录
showmount -e
2.在客户机中访问NFS共享资源
(1)安装nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
(2)查看NFS服务器端共享了哪些目录
showmount -e 网络地址
(3)手动挂载NFS共享目录
mkdir /myshare|
mount 网络地址: /opt/ 目录 /myshare
mount
确认挂载结果,也可以使用df -Th
(4)设置自动挂载
vim /etc/fstab
网络地址: /opt /目录 /myshare nfs,defaults,_ netdev 0 0
_netdev:表示挂载设备需要网络
(5)强制卸载NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df-h
命令卡死的现象。这个时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载。
umount -lf /myshare
rpm -q rpcbind nfs-utils
yum install -y nfs-utils rpcbind
mkdir -p /opt/nfs_ls
cd /opt
ls
chmod 777 nfs_ls/
cd /etc
vim exports
systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs
systemctl enable nfs
ps aux | grep rpcbind
另一台虚拟机
yum install -y nfs_utils rpcbind
showmount -e 192.168.22.128
临时挂载
mkdir /ls
mount 192.168.22.128:/opt/nfs_ls /ls
df -hT
永久挂载
vim /etc/fstab
cd /ls
touch 6.txt
echo "123456" >> 6.txt
cat 6.txt
返回原来的虚拟机
cd /opt/nfs_ls/
ls
cat 6.txt
三、FTP
1.概述
FTP (File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。TCP 协议:20,21端口
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式 FTP的客户端发送PORT 命令到FTP server。 Passive 模式FTP的客户端发送PASV命令到FTP Server
(1)Standard模式
FTP客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
(2)Passive模式
在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和15000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候ETP server不再需要建立一个新的和客户端之问的连接。
2.搭建和配置FTP服务
搭建FTP服务器
1)实验环境
服务器: CentOS 7 系统ip: 网络地址
客户端: Win10 系统ip: 网络地址
very secure ftlp
2)软件安装
linux 系统中,是vsftpd提 供ftp的服务(没有依赖包,可直接yum安装,也可光盘安装)
yum install -y vsftpd
3)配置文件
/etc/ vsftpd/ vsftpd. conf ftp服务器的主配置文件
/etc/pam.d/vsftpd
/etc/vsftpd/ ftpusers 禁止登陆用户名单,默认root 不能登陆
/etc/vsftpd/user_ 用户名 可以通过设置只有这个名单里的用户可以登陆,如果同一用户同时 出现在ftpusers和user_ 用户名 那么该用户也是被禁止登陆,取最严权限.
/var/ ftp ftp的根目录,默认登陆位置
/var/ ftp/pub .
4)用户
①匿名用户: anonymous/ftp 默认开启,密码为空
②本地用户: linux系统中的用户(无需配置可直接登陆但有安全隐患)
③虚拟用户:自定义的虚拟用户(配置麻烦但相对安全)
5)开启服务
systemctl start vsftpd
6)匿名用户默认可下载但不能上传,修改匿名用户权限可上传
修改/etc/vsftpd/vsftpd.conf,开启anon _upload_ enable=YES
修改/var/ ftp/pub为777权限,不要修改/var/ftp的权限否则无法登陆
7)允许root登陆.
修改/etc/vsftpd/ ftpusers,将root注释
修改/etc/vsftpd/vsftpd.conf,添加一行userlist_deny-NO
重启服务.
8)锁定用户家目录不可随意切换
修改/etc/vsftpd/ vsftpd. conf
chroot_ local_ user=YES 取消注释, 锁定家目录了,但是如果家目录有写权限ftp会拒绝连接
allow writeable chroot=YES 添加这一行
(9)重启服务
tepdump -i ens33 -nnX port 21
-nn:直接以IP及portnumber显示,而非主机名与服务名称
-X :可以列出十六进位(hex) 以及ASCII 的封包內容,对于监听封包內容很有用
3.查看信息
yum info vsftpd
FTP (File Transfer Protocol: 文件传输协议) 作用: Internet上用来传送文件的协议。
VSFTP全称 (very secure FTP )
VSFTP模式: C/S模式
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
开启服务,关闭防火墙和增强型安全功能X
systemctl stop firewalld
setenforce 0
rpm -qa l grep vsftp
yum install -y vsftpd
cd /etc/ vsftpd/
cp vsftpd. conf vsftpd. conf .bak
4.设置匿名用户访问的FTP服务(最大权限)
1)修改配置文件
vim /etc/vs ftpd/vsftpd. conf
anonymous_ enable=YES 开启匿名用户访问。默认已开启(FTP)
write_ enable=YES 开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_ umask=022 设置匿名用户所上传数据的权限掩码(反掩码)。
anon_ upload_ enable=YES 允许匿名用户。上传文件。默认已注释,需取消注释
anon_ mkdir_ write_ enable=YES 允许匿名用户创建(.上传)目录。默认E注释,需取消注释
anon_ other_ write_enable=YEs 允许其他删除、重命名