• Linux 搭建FTP服务器


    介绍

    本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置。

    知识点

    • 在linux中使用的FTP是vsftp
    • FTP可以有三种登入方式分别是:
    1. 匿名登录方式:不需要用户密码
    2. 本地用户登入:使用本地用户和密码登入
    3. 虚拟用户方式:也是使用用户和密码登入,但是该用户不是linux中创建的用户

     

    安装FTP

    使用YUM安装

    yum -y install vsftpd

    文件配置

    安装完之后在/etc/vsftpd/路径下会存在三个配置文件。

    vsftpd.conf: 主配置文件

    ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。

    user_list: 指定的用户是否可以访问ftp服务器,通过vsftpd.conf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。

    查看主配置文件的默认配置

    cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

    anonymous_enable=YES #允许匿名用户

    local_enable=YES #允许使用本地用户账号登陆

    write_enable=YES #允许ftp用户写数据

    connect_from_port_20=YES #通过20端口传输数据

    anonymous_enable=YES
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    
    pam_service_name=vsftpd
    tcp_wrappers=YES
    chroot_local_user=yes

    其它的一些参数说明包括:

    ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息
    
    idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
    
    data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间
    
    accept_timeout=60 设置在多长时间后自动建立连接
    
    connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
    
    max_clients=200 指明服务器总的客户并发连接数为200
    
    max_per_ip=3 指明每个客户机的最大连接数为3
    
    local_max_rate=50000(50kbytes/sec)  本地用户最大传输速率限制
    
    anon_max_rate=30000匿名用户的最大传输速率限制
    
    pasv_min_port=端口
    
    pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
    
    listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
    
    listen_port=端口号 设置FTP工作的端口号,默认的为21
    
    local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
    
    chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user;
    chroot_list_enable
    =yes/no 启用不锁定用户在主目录的名单 chroot_list_file=/etc/vsftpd/chroot_list指定列表文件 userlist_enable=YES/NO 是否加载用户列表文件; userlist_deny=YES 表示上面所加载的用户允许登录; userlist_file=/etc/vsftpd/user_list 指定列表文件

    创建FTP连接用户

    创建用户ftpuser
    useradd ftpusr
    
    设置用户只能ftp不能登入
    usermod -s /sbin/nologin ftpuser
    
    设置用户密码
    passwd ftpusr

    用户的默认的家目录在/home下,当前用户就只能访问家目录。

    修改用户的家目录位/mnt

    usermod -d /mnt ftpuser

    启动FTP服务

    service vsftpd start

    测试

    在/mnt目录下创建一个测试文件

    touch /mnt/test

    连接ftp

     

    解决普通的FTP无法登入问题

    linux默认是带安全机制,使用普通的ftp 21端口无法连接到ftp服务器,使用sftp就可以。这个时候需要关闭selinux,修改配置文件需要重启服务器。

    vim /etc/sysconfig/selinux

    改成selinux=disabled

    不重启服务器的方法:

    setenforce 0

    setenforce 1 :设置SELinux 成为enforcing模式
    setenforce 0 :设置SELinux 成为permissive模式

    查看SELinux状态

    /usr/sbin/sestatus -v

    总结

     还有其他的一些配置方法在这里就暂时不列举,有兴趣的可以去深入研究一下。

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

    《欢迎交流讨论》

  • 相关阅读:
    Jquery 判断值是否存在于数组之内
    Linux 拷贝有更改的文件
    Thinkphp [美味]常用代码
    Oracle基础知识:DECODE、NVL
    安装配置svn
    搭建LAMP环境以及shell脚本搭建(yum安装)
    Jmeter接口测试webservice
    Jmeter插件安装和使用
    Jmeter中java接口测试
    Jmeter中聚合报告吞吐量的计算
  • 原文地址:https://www.cnblogs.com/chenmh/p/5365274.html
Copyright © 2020-2023  润新知