• Linux FTP服务配置


    一、部署FTP服务

    yum insatll vsftpd -y ##下载安装vsftpd
    systemctl start vsftpd ##打开vsftpd
    setenforce 0 ##关闭selinux
    firewall-cmd --permanent --add-service=ftp #添加ftp到防火墙允许的服务里面 
    systemctl restart firewalld.service #重启防火墙
    

    二、匿名用户

    允许匿名用户读写:

    chown ftp /var/ftp/pub/ #将此目录的属主改成ftp,匿名用户即可写入。
    

    修改配置文件(/etc/vsftpd/vsftpd.conf):

    anonymous_enable=YES #允许匿名登陆,不允许就改成NO
    anon_upload_enable=YES #允许匿名用户上传
    anon_mkdir_write_enable=YES #允许匿名用户创建文件夹
    anon_umask=022 #匿名用户所上传文件的权限掩码
    anon_root=/var/ftp #匿名用户的 FTP 根目录
    anon_other_write_enable=YES #开放其他写入权
    anon_max_rate=1000 #限制最大传输速率(字节/秒),等于0时为不限速
    

    选项表:

    选项名 选项描述
    anonymous_enable=YES/NO 是否允许匿名登陆
    anon_upload_enable=YES 是否允许匿名用户上传
    anon_mkdir_write_enable=YES 是否允许匿名用户创建文件夹
    anon_umask=022 匿名用户所上传文件的权限掩码
    anon_root=/var/ftp 匿名用户的 FTP 根目录
    anon_other_write_enable=YES 开放其他写入权
    anon_max_rate=1000 限制最大传输速率(字节/秒),等于0时为不限速

    三、本地用户

    创建本地用户

    useradd user1 #创建用户
    passwd user1 #给用户设置密码
    

    修改配置文件(/etc/vsftpd/vsftpd.conf):

    local_enable=YES #是否允许本地用户登陆
    local_root=/home/diy #自定义目录,如果不设置则是各用户的家目录
    write_enable=YES #允许登陆用户有写权限
    local_umask=022 #本地用户所上传文件的权限掩码
    local_max_rate=1000 #限制最大传输速率(字节/秒),等于0时为不限速
    chroot_local_user=YES #不允许用户切换目录
    
    选项名 选项描述
    local_enable=YES 是否允许本地用户登陆
    local_root=/home/diy 自定义目录,如果不设置则是各用户的家目录
    write_enable=YES 允许登陆用户有写权限
    local_umask=022 本地用户所上传文件的权限掩码
    local_max_rate=1000 限制最大传输速率(字节/秒),等于0时为不限速
    chroot_local_user=YES 不允许用户切换目录

    四、虚拟用户

    虚拟用户需要映射到系统用户,以系统用户为载体

    建立虚拟账户账号和数据库文件

    首先创建一个新文件,来存放虚拟账户的用户名和密码

    vim /etc/vsftpd/users
    

    写入以下内容

    vmuser1
    123123
    vmuser2
    123123
    

    上一行为用户名,下一行是密码。

    添加完毕后保存,输入以下内容,创建数据库文件。

    db_load -T -t hash -f users users.db
    

    得到users.db

    设置文件权限为600,避免数据外泄。

    chmod 600 /etc/vsftpd/users.*
    

    为虚拟用户建立PAM认证文件

    在/etc/pam.d目录下建立一个vsftpd.vu

    写入以下内容

    auth      required  pam_userdb.so db=/etc/vsftpd/users
    account   required  pam_userdb.so db=/etc/vsftpd/users
    

    添加虚拟用户的映射账号、创建FTP根目录

    useradd -d /var/ftproot -s /sbin/nologin master
    chmod 777 /var/ftproot/
    

    最后修改配置为

    anonymous_enable=NO#不允许匿名用户
    local_enable=YES#允许本地登陆
    guest_enable=YES#允许虚拟用户登陆
    guest_username=master #虚拟用户映射本地用户
    allow_writeable_chroot=YES #允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求
    pam_service_name=vsftpd.vu #指定PAM文件
    

    虚拟用户设置不同的权限

    创建一个目录
    /etc/vsftpd/vlist

    然后配置里面加一段

    user_config_dir=/etc/vsftpd/vlist

    在此目录下创建vmuser1文件

    为vmuser1用户配置权限

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    

    以此类推

    选项名 选项描述
    anonymous_enable=NO 不允许匿名用户
    local_enable=YES 允许本地登陆
    guest_enable=YES 允许虚拟用户登陆
    guest_username=master 虚拟用户映射本地用户
    allow_writeable_chroot=YES 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求
    pam_service_name=vsftpd.vu 指定PAM文件
    user_config_dir=/etc/vsftpd/vlist 用户配置目录

    其他

    选项名 选项描述
    max_clients=0 限制并发客户端连接数,就是最多允许多少用户同时登录
    max_per_ip=0 限制同一IP地址的并发连接数,就是一个IP最多同时下载几个文件
    listen=YES 是否以独立运行的方式监听服务
    listen_port=21 设置监听 FTP 服务的端口号
    listen_address=192.168.4.1 设置监听的 IP 地址
  • 相关阅读:
    ubuntu 12.04 install flash for firefox
    ubuntu 12.04 修改 grub 启动参数
    ubuntu 12.04 英文系统怎么调出 ibus输入法
    Ubuntu 12.04 临时禁用和启动面板
    git部署
    php 递归删除文件夹
    一‘php文件系统
    xml的解构与组装
    memcached的部署
    1,秒杀系统的设计
  • 原文地址:https://www.cnblogs.com/skyxmao/p/12578878.html
Copyright © 2020-2023  润新知