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

    FTP服务

    FTP两种模式: 
    主动模式服务器向客户端敲门,然后客户端开门 
    被动模式客户端向服务器敲门,然后服务器开门

    传输模式:可以是文本模式,也可以是二进制模式,二进制模式更适合传输图片等非文本字符的文件

    匿名用户:不需要输入用户(多人共享一个) 
    本地用户:本地的Linux登陆用户(每个共享用户的家目录) 
    虚拟用户:不同于本地用户,可以创建一个匿名用户的FTP,跟Linux没有关系

     

    FTP匿名用户服务搭建

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

    image_1cpc0uncr87aliknsk18aovgr9.png-18.4kB

    yum装完vsftpd自然就有/var/ftp/pub的共享目录 
    属主是root别的用户没有办法读写,所以需要把pub属主换成ftp,ftp程序用户系统默认就有

    image_1cpc0vngq1tf61031jng1kl81b8t16.png-27.4kB

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

    image_1cpc10lm7121j14mlunutc965k1j.png-70.5kB

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

    image_1cpc10u54h59noabk12581ug420.png-231.3kB

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

    image_1cpc11c16oef189t48u1epv1uhk2d.png-27.9kB

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

    image_1cpc11niah441dinv591u671e1q2q.png-9.7kB

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

    image_1cpc13a2n1sd1k1pk7o1c51hv15m.png-33.2kB

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

    image_1cpc13lrh1t2e1b8oufjjjnolf63.png-23.6kB

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

    image_1cpc140fb3qbgogd8l17ro1akn6g.png-54.3kB

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

    image_1cpc16rbq5meaf81fj3cjv187ja0.png-170.5kB

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

    image_1cpc17gaq1ecrf6p1bidii11nf1at.png-71kB 
    image_1cpc180ac1qah1o7f11qggi21aclba.png-9.5kB

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

    image_1cpc19vp435s1u2r1oo7e3ki0bn.png-7.9kB 
    image_1cpc1a36uo3h135u1jkp273omec4.png-44.2kB

     

    FTP本地用户服务搭建

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

    image_1cpc1agkr170ibr216bpmrlt3vch.png-61.7kB

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

    image_1cpc1an711ipkcuht3s3t1neocu.png-105.4kB 
    image_1cpc1b1fqln71btalb11b3g1jssdo.png-44.5kB

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

    image_1cpc1dbk9dgecejac8n4j14ne5.png-27.1kB 
    image_1cpc1dm0p1dt1pj818pl1enh1b71f2.png-38.4kB

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

    image_1cpc1f1s11vp2rel1v14150s1lujgu.png-17.8kB

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

    image_1cpc1hpb51g4m4e91jqp1ecfl7bid.png-16.1kB

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

    image_1cpc1i7a4e6jc0310nc1lktibqiq.png-29.8kB

     

    FTP虚拟用户服务搭建

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

    image_1cpc1iooe15tr1ik11ecp4v212hcja.png-37.9kB

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

    image_1cpc1jl2u1h5v62r13pr1d0c4ntjn.png-9.8kB 
    image_1cpc1jq7tcjl1fdhf2s14h6g7ek4.png-5.2kB

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

    image_1cpc1kmb2pv2t0d1jknt9shockh.png-34kB

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

    image_1cpc1kvsbgl21v2g18p11ag51nrkku.png-86.2kB

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

    image_1cpc1l70gn1pr8p1k0su3o4pvlb.png-5.8kB 
    image_1cpc1l9r914gd1jcf1n0e16khj6olo.png-10.8kB

    首先把匿名用户关闭

    image_1cpc1lps7im11pdl1364kra1ui5m5.png-5.3kB 
    image_1cpc1lvke1q7p18f31od1r151kvomi.png-38.8kB

    把最下面配置文件

    image_1cpc1m9a144ken167h1p3s11e9mv.png-11.8kB

    改成这样

    image_1cpc1nl2h1kd395q1nco5uo12u6ps.png-10.7kB

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

    image_1cpc1o7edmqa1b22rv6rl63gtq9.png-23.6kB

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

    image_1cpc1oj5eqg81r879kreeg1gfuqm.png-37.1kB

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

    image_1cpc1p0so16bpohbo911n9fhaor3.png-37.6kB

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

    image_1cpc1qatp13o210rot781juqki3rg.png-68.1kB

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

    image_1cpc1qogc17in1shd1jqi2ia1o6lrt.png-5.7kB 
    image_1cpc1qrkn1sqq19mdgrn1d86vp3sa.png-29kB 
    image_1cpc1qvjt1hf2gh4uf8aifbvasn.png-5.8kB 
    image_1cpc1r6r57p5182r60pn6r598tk.png-17.1kB

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

    image_1cpc1rnuep3t12g91oc21ni246ku1.png-31.6kB

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

    image_1cpc1scbhp1kpsda171pvoguuu.png-77.5kB 
    image_1cpc1so8n1ubc1nt4us4q1u9odvb.png-20.9kB

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

    image_1cpc1tqer1ujc1a1jv6eq9o1a35108.png-13.3kB 
    image_1cpc1tvva1b3r1kr51qa61o59h9p10l.png-9.9kB 
    image_1cpc1u358tu4sh9p4h1utl1uu112.png-10.7kB

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

    image_1cpc1udas1r67p2umvm1oqg1r0p11f.png-38.8kB 
    image_1cpc1vgqd24c8p5105d1q3en8o13s.png-37.7kB

     
  • 相关阅读:
    C 文件随机读写
    fread(),fwrite()函数
    C 将文本文件内容逆序打印
    C++ 文件复制
    关机效果
    xpath的语法
    ajax json 数据
    转帖 ASP.NET中高级程序员 面试题
    数据库查询的执行顺序
    【转载】母版页引用外部文件的路径问题
  • 原文地址:https://www.cnblogs.com/linyaonie/p/9863165.html
Copyright © 2011-2022 走看看