linux FTP 文件共享服务器

目录

概述

工作模式

基本配置

匿名用户验证

本地用户验证

本地用户访问控制


概述



FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输
FTP:file transfer protocol  文件传输协议

FTP连接类型
    命令连接:客户端发起请求,服务器响应 默认一直保持连接
        

    数据连接:按需打开,按需关闭,与命令连接相关联 有可能同时打开多个数据连接
        

工作模式



    主动模式

        1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了                  n+1端口
        2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接
     被动模式
        1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式
        2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端
        3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接

基本配置


端口:控制连接   TCP/21
           数据连接   20/随机端口

服务名:vsftpd
    
主配置文件:/etc/vsftpd/vsftpd.conf
    
用户控制文件: /etc/vsftpd/ftpusers
                           /etc/vsftpd/user_list           

匿名用户验证
    用户名:ftp或者anonymous
        
    密码:无
        
    工作目录: /var/ftp、/var/ftp/pub
       
    可选配置项
        anon_upload_enable=[YES|NO]        是否允许匿名用户上传文件
        anon_mkdir_write_enable=[YES|NO]    是否允许匿名用户创建目录
        anon_other_write_enable=[YES|NO]    是否开放匿名用户的其他写入权限(删除、改名)


    
    

匿名用户验证


首先在服务器安装 vsftpd 

命令为:yum -y install vsftpd

 

然后在客户机上安装 ftp

命令为:yum -y install ftp

 

1:匿名用户向服务器上传文件

       在服务器主配置文件中进行修改

命令:vim /etc/vsftpd/vsftpd.conf 进入到主配置文件中进行修改

找到anon_upload_enable=yes把注释取消掉

保存退出 并重启服务:systemctl restart vsftpd

 

下面进入客户机输入 ftp 加上服务器的IP地址 并在输入用户名阶段输入 ftp 表示匿名登录

注意匿名用户不需要用密码可以直接回车

下面在家目录创建一个文件对其进行上传

上传之前需要用服务器并进入到 /var/ftp 下给到工作目录 /pub 最大权限才可以完成以下步骤

 再次用匿名进入到 ftp 192.168.50.50 服务器 并cd进入到工作目录pub下再能进行上传 进行上传 上传命令为:put

2:是否允许匿名用户创建目录同样进入到服务器主配置文件中 找anon_mkdir_write_enable=YES

并取消注释随后保存退出 并重启服务:systemctl restart vsftpd 

 随后打开客户机 重复以上步骤进入 ftp 192.168.50.50 服务器当中先查看是否在工作目录再尝试创建目录

3.是否开放匿名用户的其他写入权限(删除、改名) 相同的进入服务器的主配置文件中

写入:anon_other_write_enable=YES

随后保存退出 并重启服务器 systemctl restart vsftpd 

进入客户机之后要 exit 退出 重新进入 ftp 192.168.50.50 随后删除一个目录看一下

命令:rm (目录名称)

本地用户验证


可选配置项
    local_enable=[YES|NO]               是否允许本地用户登录FTP
    local_umask=022                         本地用户上传文件的umask值
    local_root=/var/ftp                         本地用户的FTP根目录
    chroot_local_user=[YES|NO]       是否将用户权限禁锢在FTP目录,确保安全
    allow_writeable_chroot=YES        是否允许写入
    chroot_list_enable=YES|NO         是否启用chroot_list_file
    在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list

用户名:  服务器本地用户
密码:本地用户密码
工作目录:本地用户的家目录

首先在服务器创建一个测试用的用户 并设置密码

1:是否允许本地用户登录FTP   

命令:vim /etc/vsftpd/vsftpd.conf

进入服务器打开配置文件找到 local_enable=YES

对其取消注释 并查看是否是yes 表示允许本地用户登录

在进入到客户机依旧输入 ftp 192.168.50.50  并在选择用户阶段输入我们新创建的用户名“qq”

 

2:本地用户上传文件的umask值(法码值) 

local_umask=022

一般情况下不做修改

3:本地用户的FTP根目录

     local_root=/var/ftp 

我们创建的用户通过 cd 那都能去对我们的网络环境的安全很不利所以需要配合

【chroot_local_user=[YES|NO]    是否将用户权限禁锢在FTP目录,确保安全】

【allow_writeable_chroot=YES    是否允许写入】

通过这两条配置文件可以把用户紧固在 local_root=/var/ftp 本地用户的ftp根目录下

在服务器主配置文件中找到 chroot_local_user=YES并在其上下 写入

【local_root=/var/ftp    本地用户的FTP根目录】

【allow_writeable_chroot=YES    是否允许写入】

完成以上步骤之后把

【chroot_list_enable=YES 是否启用】

【chroot_list_file=/etc/vsftpd/chroot_list】

在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list

解除注释 随后保存退出

退出之后用vim进入 /etc/vsftpd/chroot_list 去添加可以不被禁锢的用户

:vim /etc/vsftpd/chroot_list 直接编辑即可 随后保存退出

  

然后我们切换到客户机验证一下 进入客户机之后要 exit 退出 重新进入 ftp 192.168.50.50

先看一下不被禁锢的用户 cjf 可以自由切换路径

再来看一下收禁锢的用户 qq 则切换不了

本地用户访问控制


1:userlist_enable=YES
      userlist_deny=YES
      不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

2:userlist_enable=YES
      userlist_deny=NO
      仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

3:ftpusers
      不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置

1:userlist_enable=YES
      userlist_deny=YES
     不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

在服务器主配置文件中找到 userlist_enable=YES 下方写入 userlist_deny=YES 并保存退出并重启服务器

退出之后vim进入 /etc/vsftpd/user_list  写下不允许登录的用户名 他就登录不了FTP了

下面我们打开客户机尝试用“qq”用户登录一下 发现登录不了

2:userlist_enable=YES
      userlist_deny=NO
      仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

进入到服务器主配置文件中把 userlist_deny=YES 改成 NO 随后保存退出 重启系统

 然后用 vim 打开/etc/vsftpd/user_list 把 “qq” 再次添加到里面

打开客户机尝试登录发现qq可以进入

换一个用户尝试 发现连密码都没有输入直接显示登录不了

 3:ftpusers
      不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置

      在服务器用vim打开/etc/vsftpd/ftpusers 填入用户名

      只要在/etc/vsftpd/ftpusers 填写了用户名 无论上两条怎么设置 那么这个用户都登录不了 

打开客户机登录qq进行尝试 发现登录不了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值