zoukankan      html  css  js  c++  java
  • FTP服务搭建

    FTP两种模式: 
    主动模式服务器向客户端敲门,然后客户端开门 
    被动模式客户端向服务器敲门,然后服务器开门 
    传输模式:可以是文本模式,也可以是二进制模式,二进制模式更适合传输图片等非文本字符的文件 
    匿名用户:不需要输入用户(多人共享一个) 
    本地用户:本地的Linux登陆用户(每个共享用户的家目录) 
    虚拟用户:不同于本地用户,可以创建一个匿名用户的FTP,跟Linux没有关系

    一、FTP匿名用户服务搭建(这是一个非常简单的服务)

    1.首先需要查看服务端有没有vsftpd命令,没有则需要yum安装

    2.yum装完vsftpd自然就有了/var/ftp/pub的共享目录,这个文件的属主权限是rootpu't普通用户是没有权限读写的,所以把pub的属主改成ftp,ftp程序用户系统默认是有的

    3.安装完vsftpd自然就有/etc/vsftpd/vsftpd.conf:ftp配置文件,为了安全先备份一份

    4.vim打开ftp配置文件,配置如下

    5.服务端ftp配置完成后启动ftp服务,启动完成后检查一下是否成功

    6.因为服务端共享目录里没有文件,所以先创建一个 

    7.客户端只需要安装ftp命令就可以

    8.ftp客户端登陆服务端,匿名用户名就是ftp,没有密码为空,所以直接回车

    9.ls看一下当前,看到了pub,cd进去看到了sl 自然就证明了我已经连接到了

    10.ftp有很多命令跟linux不一样,所以需要help查看一下

    11.在ftp里get代表下载,你当前在哪个目录登陆ftp就下载到哪个目录

    12.在ftp里put代表上传命令,也只能上传客户端当前目录里的文件,不能是绝对路径上传

    二、FTP本地用户服务搭建

    首先先将配置完成后的匿名用户备份,在把初始的配置文件复制回来

    因为是ftp本地用户搭建所以把匿名关闭,在把第96行的本地用户家目录取消注释并开启

    因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入yunjisuan账号和密码

    刚创建用户家目录没有任何东西,所有在服务端yunjisuan用户创建一个文件

    在客户端ftp服务里ls看到了创建的新文件

    /etc/vsftpd/ftpusers:FTP给用户加黑名单,优先级高于/etc/vsftpd/user_list可以通过配置文件将此修改为白名单

    三、FTP虚拟用户服务搭建

    首先需要把ftp本地用户服务备份,在把源配置文件复制回来

    先查看系统是否有db_load命令,没有则需要安装ftp虚拟用户首先需要在/etc/vsftpd下创建密码文件

     

    创建完密码文件需要弄db_load命令转换成数据文件,-T允许非程序使用该数据库 -t指定算法 hash -f代表加密,因为是密码,为了增加安全性需要给chmod 600 vusers.db权限

     

    首先创建虚拟映射账号,因为指定了家目录所以给手动创建一个家目录并赋上755权限

    手动建立此pam认证文件如下 

     

    首先把匿名用户关闭 

     

    把最下面配置文件 

    改成这样 

     

    配置完重启服务,就可以用客户端进行ftp登陆,因为是指定创建的家目录,所以需要去/var/ftproot创建点文件

    ftp客户端登陆服务端,输入手动创建的虚拟账号密码,就可以看到刚才在服务端家目录创建的文件 

    因为刚才创建了2个账号密码,所以用第二个账号登陆,也看到了指定的服务端家目录文件 

    实现每个虚拟用户不同根目录,不同权限的管控,首先在/etc/vsftpd创建mkdir /vusers.dir目录,创建完进入目录touch 虚拟账号里的名字 

    vim手动打开/etc/vsftpd/vusers.dir/虚拟账号名 

     

    配置完手动mkdir -p /var/虚拟账号名,chown virtual /var/虚拟账号名:把账号属主换成virtual有读写权限

    最后需要在/etc/vsftpd/vsftpd.conf手动填写

    重启服务/etc/init.d/vsftpd reload后进入测试环境,手动在服务端家目录创建个文件

     

    在客户端ftp登陆虚拟用户,文件正好是在服务端配置文件目录创建的文件

  • 相关阅读:
    一, 认识一下Python
    VUE
    排序算法6---归并排序算法
    排序算法5---堆排序算法,改进的简单选择排序
    排序算法4---希尔排序算法,改进的直接插入排序
    排序算法3---直接插入排序算法
    排序算法2---简单选择排序
    排序算法1---冒泡排序及其改进版
    10.17写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为: int strcmp(char * p1,char * p2) 设p1指向字符串s1,p2指向字符串s2。要求:当s1=s2时,返回值为0。当s1≠s2时,返回它们两者的第一个不同字符的ASCII码差值(如”BOY”与”BAD”,第二个字母不同,”O”与”A”之差为79-65=14);如果s1>s2,则输出正值;
    10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。
  • 原文地址:https://www.cnblogs.com/heyuanlong/p/9911716.html
Copyright © 2011-2022 走看看