linux中ftp服务

FTP介绍

  • 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层, 即应用层, 使用 TCP的20,21端口,20作为数据传输端口,21作为建立连接端口。

FTP两种模式

  • 主动模式:别人来连接时,用20端口来传输
  • 被动模式:别人连接时,随机开放一个端口,范围为1024到5000之间

FTP的主配置文件

首先下载ftp服务

  • yum -y install vsftpd
    然后进入主配置文件
    vim /etc/vsftpd/vsftpd.conf
  • anonymous_enable=YES //允许匿名登录
  • local_enable=YES //控制是否允许本地用户登录
  • anon_upload_enable=YES //允许上传数据
  • chroot_local_user=YES //绑定本地的家目录
  • allow_writeable_chroot=YES //允许写的权限,一般是手动添加

我们用win10真机去ftplinux机,用匿名用户登录

在这里插入图片描述
在这里插入图片描述
进入的目录其实是在/var/ftp里面

[root@server ~]# ls /var/ftp/
CentOS_BuildTag  EULA  images    LiveOS    pub       RPM-GPG-KEY-CentOS-7          TRANS.TBL
EFI              GPL   isolinux  Packages  repodata  RPM-GPG-KEY-CentOS-Testing-7

我们用zhangsan本地用户登录在这里插入图片描述
此时的家目录是用户的家目录
在这里插入图片描述
使用匿名用户进行下载操作
在这里插入图片描述

在这里插入图片描述
文件直接存在win10用户家目录下

如果需要上传的话,需要开启anon_upload_enable=YES
然后重启服务,将文件上传到家目录下面的一个文件,给777权限,如果直接放到家目录底下,没有满权限的话,不给上传,满权限的话会因为安全问题直接不给连接,所以退求其次在家目录下创建一个目录
在这里插入图片描述

[root@server pub]# ll
总用量 0
-rw------- 1 ftp  ftp  0 526 21:17 123.txt
drwxr-xr-x 2 root root 6 526 16:14 centos7

用普通用户也能上传文件
在这里插入图片描述

[root@server ~]# cd /home/zhangsan/
[root@server zhangsan]# ls
123.txt
[root@server zhangsan]# ll
总用量 0
-rw-r--r-- 1 zhangsan zhangsan 0 526 21:22 123.txt
[root@server zhangsan]# 

但是这样普通用户权限会很大
所以我们需要将普通用户绑定在家目录
需要在主配置文件开启chroot_local_user=YES
然后添加一行 allow_writeable_chroot=YES允许写的权限
在这里插入图片描述
发现怎么样都改变不了目录

我们发现root用户不能登陆
在这里插入图片描述
这时去两个文件里面修改配置

  • /etc/vsftpd/ftpusers里面删除root
    在这里插入图片描述
  • /etc/vsftpd/user_list里同样删除root
    在这里插入图片描述

发现可以登陆
在这里插入图片描述
ftpusers优先级更大,先看ftpusers

但是ftp并不安全
用tcpdump命令可以监听ftp并窃取用户名和密码

[root@server ~]# tcpdump -i ens33 -nnX port 21
21:40:35.937253 IP 192.168.3.5.63126 > 192.168.3.1.21: Flags [P.], seq 15:30, ack 47, win 8146, length 15: FTP: USER zhangsan
	0x0000:  4500 0037 6334 4000 8006 1036 c0a8 0305  E..7c4@....6....
	0x0010:  c0a8 0301 f696 0015 cc7b 563b 43c3 613f  .........{V;C.a?
	0x0020:  5018 1fd2 ccd7 0000 5553 4552 207a 6861  P.......USER.zha
	0x0030:  6e67 7361 6e0d 0a                        ngsan..
21:40:37.638062 IP 192.168.3.5.63126 > 192.168.3.1.21: Flags [P.], seq 30:40, ack 81, win 8112, length 10: FTP: PASS 123
	0x0000:  4500 0032 6336 4000 8006 1039 c0a8 0305  E..2c6@....9....
	0x0010:  c0a8 0301 f696 0015 cc7b 564a 43c3 6161  .........{VJC.aa
	0x0020:  5018 1fb0 4722 0000 5041 5353 2031 3233  P...G"..PASS.123

在这里插入图片描述
账户密码都是明文显示的,所以并不安全

本地ftp的yum仓库

先清除yum源
用yum clean all
然后进入yum源配置文件中,先将文件备份,然后创建一个ftp.repo

[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  epel.repo
[root@server yum.repos.d]# mkdir bak
[root@server yum.repos.d]# mv * bak/
mv: 无法将目录"bak" 移动至自身的子目录"bak/bak"[root@server yum.repos.d]# ls
bak
[root@server yum.repos.d]# touch ftp.repo

然后编辑ftp.repo

[ftp]				//创建源名称
name=centos7		
baseurl=ftp://192.168.3.1/		指定ftp的服务器
enabled=1		启用
gpgcheck=0		不校验

在这里插入图片描述
发现能访问

服务器更新索引

在服务器上

[root@server ftp]# createrepo --update /var/ftp/Packages/

将下载的nginx包转到Packages中
然后yum clean all 然后yum makecache

[root@client ~]# yum repolist 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                               源名称                                                 状态
ftp                                                  centos7                                                4,030
repolist: 4,030

会发现增加了9个

nfs

nfs是网络共享服务,先在nfs服务器上下载服务

[root@client ~]# rpm -q rpcbind
rpcbind-0.2.0-47.el7.x86_64
[root@client ~]# rpm -q nfs
nfs4-acl-tools  nfs-utils       
[root@client ~]# rpm -q nfs-utils 
nfs-utils-1.3.0-0.61.el7.x86_64

然后在主配置文件/etc/exports中写

/opt/web  192.168.3.7(rw,sync) /挂载web,挂到客户机上,给读写同步

然后重启服务
先查看共享

[root@client ~]# showmount -e 192.168.3.1
Export list for 192.168.3.1:
/opt/web 192.168.3.7

然后挂载

[root@client ~]# mount -t nfs 192.168.3.1:/opt/web  /var/
[root@client ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
/dev/sda3              17G  4.5G   13G   27% /
devtmpfs              895M     0  895M    0% /dev
tmpfs                 910M     0  910M    0% /dev/shm
tmpfs                 910M   11M  900M    2% /run
tmpfs                 910M     0  910M    0% /sys/fs/cgroup
/dev/sda1            1014M  174M  841M   18% /boot
tmpfs                 182M  4.0K  182M    1% /run/user/42
tmpfs                 182M   32K  182M    1% /run/user/0
/dev/sr0              4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
192.168.3.1:/opt/web   17G  8.5G  8.6G   50% /var

然后查看是否同步

[root@client ~]# cd /var/
[root@client var]# ls
1

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值