Linux运维学习之一:ftp服务器搭建

rsvnc协议:远程同步协议
ftp协议:文件传输协议
基于tcp的套接子的监听于21.
此协议在使用过程中建立两个通道,一个为命令通道,一个伪数据通道。
命令通道从建立一直道结束,数据通道会在传输前建立,传输完毕后断开,下次在建立与断开。
客户端:在命令通道的端口上+1找到一个空闲的端口,链接服务器端的随机端口。

传输格式:
    文本格式
    二进制数据流
service:
    proftpd
    pureftp
    vsftpd:    redhat add centos自带,安全行比较好,功能不太多
    ServU:位于win上的
client:
    GUI:
        gftp
    CLI:命令行模式
        ftp,lftp
用户认证:
    系统用户:
    虚拟用户:文件位置:hash和mysql
    匿名用户    
数据传输安全:

软件文件:
    /etc/pam.d/vsftpd:认证文件
        pam:插件式认证模块 
            模块:/lib64/security/pam*.so
            配置文件:/etc/pam.conf和/etc/pam.d/*
    /etc/vsftpd/vsftpd.conf:主配置文件
    /var/ftp/pub:数据共享

    主配置文件:
        anonymous_enable=YES        匿名登录
        local_enable=YES             本地用户登录
    将本地用户禁锢在家目录,以家目录伪跟,禁锢所有用户。
        chroot_local_user={yes|no}
    可以将某些用户禁锢在自己的家目录下:
        chroot_list_enable={yes|no}      启用列表
        chroot_list_file=/etc/vsftpd/chroot_list   此文件中为要禁锢在家目录下的用户。

    匿名用户配置:
        anonymous_enabke=YES|NO     是否进行匿名登录
        anon_upload_enable=yes|no    是否可以进行上传
        anon_other_write_enable=yes|no    是否能够删除等文件
        anon_mkdir_write_enable=yes|no    是否能够创建目录

        注意:在启用写的功能时,ftp用户能福进行写的权限,完全取决与文件系统权限和服务权限的交集。

    配置登录ftp服务器的欢迎语
        banner_file=filenamme
        或
        ftpd_banner=欢迎语
        若上述两者都配置了,banner_file有效
    限制用户登录
        第一种:/etc/vsftpd/ftpusers中的用户不允许登录
        第二种:/etc/vsftpd/user_list有两中功能
            1,黑名单
                配置文件中
                    userlist_enable=yes
                    userlist_deny=yes;
            2,白名单
                    userlist_enable=yes
                    userlist_deny=no
    链接限制:
        max_clients:最大并发链接数
        max_per_ip:每个ip的链接请求数
    传输速率:
        anon_max_rate:匿名用户的最大传输速率,单位为字节每秒
        local_max_rate:
    上文件的权限:
        anno_umask;匿名用户
        local_umask:本地用户
    匿名用户上传文件的属主属组:
        chown_uplodd=yes
        chown_username=user_name


    虚拟用户:
        每一个虚拟用户会映射一个系统用户,访问的文件目录为系统的家目录
        基于关系型数据库的认证
            1,编译安装pam_mysql或者yum
            2,./confingur --with-mysql=mysql安装路径 --with-openssl
            3,make  && make install
            4,准备虚拟用户
                a,创建数据库
                b,给某一用户赋予新创建数据库的全部权限
                c,创建表id,name,passwd
                d,创建用户
            5,配置文件:
                在/etc/pam.d/下创建vsfypd_mysql文件
                加入:
                auto required /lib/sercurity/pam_mysql.so(库文件) user="mysql_user" passwd=“user_passwd” host=“mysql_host” db=“database” table=”表" usercolumn=”用户名字端" passwdcolumn="密码字段"  mcrypt=0(表示不加密)
                account require 与上述配置一样

                配置/etc/vsftpd.conf确保以下启用
                anonymous_enable=yes
                local_enable=yes
                write_enable=yes
                anon_uplocad_enable=no
                anon_mkdir_write_enable=no
                chroot_local_user=yes

                添加一下选项:
                guest_enable=yes
                guest_username=yes

                pam_service_name=在/etc/pam.d/下创建vsfypd_mysql文件


            6,建立虚拟用户映射系统用户
                useradd -s /sbin/nologin -d /var/ftproot(映射用户家目录) username
                chmod go+rx 家目录


            7,虚拟用户设置不同的权限:
                在vsftpd的配置文件中添加

                user_config_dir=/etc/vsftpd/dir_name
                在/ect/vsftpd/dir_name目录下创建文件
                    touch 虚拟用户名
                    加入权限
                        anon_upload_enable=yes   //此时虚拟用户只有上传权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值