目录
- 一、FTP基础
- ftp主动模式
- ftp被动模式
- 二、vsftpd配置
- 共享目录
- 编辑配置文件
- 使用windows 访问
- 三、客户端安装 (lftp)
- 匿名用户的一些操作(lftp {ip})
- ftp配置本地用户登录
- 配置本地用户ftp配置文件
- lftp操作
- NFS远程共享存储
- 安装nfs
- 客户端操作
一、FTP基础
- 软件包: vsftpd
- FTP端口: 控制端口:21/tcp
- 配置文件: /etc/vsftpd/vsftpd.conf
ftp主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
21端口建立连接
20端口传输数据
ftp被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
二、vsftpd配置
环境需求
centos7
关闭防火墙
关闭 selinux
FTP Server(服务端)
实验环境--准备两台机器
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
=========================================
ftp-server 192.168.246.160
client 192.168.246.161
==========================================
安装vsftpd
[root@ftp-server ~]$ yum install -y vsftpd
[root@ftp-server ~]$ systemctl start vsftpd
[root@ftp-server ~]$ systemctl enable vsftpd
共享目录
[root@localhost ~]$ mkdir /var/ftp/upload #创建自己的共享目录
[root@ftp-server ~]$ touch /var/ftp/upload/test.txt #创建文件到共享目录
[root@ftp-server ~]$ cd /var/ftp/
[root@ftp-server ftp]$ ls
pub upload
[root@ftp-server ftp]$ chown ftp.ftp * -R #修改根目录的属主与属组
编辑配置文件
打开配置目录
vim /etc/vsftpd/vsftpd.conf
可以添加下列配置命令
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022 #让用户拥有下载 上传的文件的权限
使用windows 访问
使用我的电脑即可访问
三、客户端安装 (lftp)
- 用户机也需要关闭防火墙
匿名用户的一些操作(lftp {ip})
yum -y install lftp #安装客户端
get命令(下载,首先要开启下载功能)
[root@client ~]# lftp 192.168.246.160
lftp 192.168.246.160:~> ls #查看文件列表
lftp 192.168.246.160:/> cd upload/ #进入某个目录
lftp 192.168.246.160:/upload> get test.txt #下载
lftp 192.168.246.160:/upload> exit #退出
[root@client ~]# ls #会下载到当前目录
lftp 192.168.246.160:/upload> mkdir dir #也可以创建目录
lftp 192.168.246.160:/upload> put /root/a.txt #上传文件
lftp 192.168.246.160:/upload> mirror -R /root/test/ #上传目录以及目录中的子文件
lftp 192.168.246.160:/upload> mirror test/ #下载目录
ftp配置本地用户登录
先创建两个用户
useradd zhangsan
useradd lisi
echo '123456' | passwd --stdin zhangsan #设置密码
echo '123456' | passwd --stdin lisi
配置本地用户ftp配置文件
[root@ftp-server ~]$ vim /etc/vsftpd/vsftpd.conf ---添加注释并修改
anonymous_enable=NO #将允许匿名登录关闭
#anon_umask=022 #匿名用户所上传文件的权限掩码
#anon_upload_enable=YES #允许匿名用户上传文件
#anon_mkdir_write_enable=YES #允许匿名用户创建目录
#anon_other_write_enable=YES #是否允许匿名用户有其他写入权(改名,删除,覆盖)
103 chroot_list_enable=YES #启用限制登陆用户在主目录里面
104 # (default follows)
105 chroot_list_file=/etc/vsftpd/chroot_list #限制登陆的用户在这个文件列表中,一行一个用户
106 allow_writeable_chroot=YES #允许限制的用户对目录有写权限
新添加
local_root=/home/zhangsan # 设置本地用户的FTP根目录,一般为用户的家目录
local_root=/var/ftp # 让用户可以进入公共目录
local_max_rate=0 # 限制最大传输速率(字节/秒)0为无限制
lftp操作
get 下载单个文件
mget 下载多个文件
mirror 下载目录
put 上传单个文件
mput 上传多个文件
mirror -R 上传目录
mkdir 创建目录
rm -rf 删除文件或者目录
NFS远程共享存储
实验环境
- centos 7
- 关闭selinux
- 关闭 firewalld
安装nfs
[root@nfs-server ~]# yum -y install rpcbind #安装rpc协议的包
[root@nfs-server ~]# yum -y install nfs-utils #安装nfs服务。
启动服务
[root@nfs-server ~]# systemctl start nfs
[root@nfs-server ~]# systemctl start rpcbind
[root@nfs-server ~]# mkdir /nfs-dir #创建存储目录
[root@nfs-server ~]# echo "nfs-test" >> /nfs-dir/index.html #制作test文件
[root@nfs-server ~]# vim /etc/exports #编辑共享文件
[root@nfs-server ~]# systemctl restart nfs-server #重启服务。
[root@nfs-server ~]# systemctl enable nfs-server #制作开机启动
客户端操作
[root@web1 ~]# yum -y install rpcbind
[root@web1 ~]# yum -y install nfs-utils
[root@web1 ~]# mkdir /qf #创建挂载点
[root@web1 ~]# mount -t nfs 192.168.246.160:/nfs-dir /qf #挂载
-t:指定文件系统类型
[root@web1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.1G 16G 7% /
tmpfs tmpfs 98M 0 98M 0% /run/user/0
192.168.246.160:/nfs-dir nfs4 17G 1.4G 16G 8% /qf
[root@web1 ~]# ls /qf
index.html
[root@web1 ~]# umount /qf #取消挂载
制作开机挂载
[root@client.qfedu.com ~]# vim /etc/fstab
192.168.246.160:/nfs-dir /qf nfs defaults 0 0
[root@client.qfedu.com ~]# mount -a
完结撒花~~~~