zoukankan      html  css  js  c++  java
  • centons7安装ftp

    一、ftp基础操作

    1.1、查看是否安装了vsftp

    方法一:rpm -qa | grep vsftp

     方法二:whereis vsftpd

     1.2、安装vsftp

    方法:yum install -y vsftpd/yum install vsftpd

    使用上述两个中的其中一个就可以安装vsftp,-y表示当安装过程提示选择全部为"yes",没有写-y的话需要手动补充。

    1.3、ftp设置

    设置开机自启:systemctl enable vsftpd.service

    启动ftp服务:systemctl start vsftpd.service

    重启ftp服务:systemctl restart vsftpd.service

    关闭ftp服务:systemctl stop vsftpd.service

    查看ftp状态:systemctl status vsftpd.service

    二、ftp默认配置文件

    默认配置文件:/etc/vsftpd/vsftpd.conf

    2.1、修改已有配置

    修改anonymous_enable(是否允许匿名ftp)参数,设置成No:anonymous_enable=NO

    修改anon_mkdir_write_enable(是否允许匿名用户有创建目录的权利)参数,设置成Yes:anon_mkdir_write_enable=YES

    修改chown_upload(是否改变上传文件的属主)参数设置成Yes:chown_upload=YES

    修改async_abor_enable(是否允许运行特殊的ftp命令async ABOR.)参数设置成Yes:async_abor_enable=YES

    修改ascii_upload_enable(是否使用ascii码方式上传文件)参数设置成Yes:ascii_upload_enable=YES

    修改ascii_download_enable(是否使用ascii码方式下载文件)参数设置成Yes:ascii_download_enable=YES

    2.2、新增配置

    use_localtime=YES

    listen_port=21

    idle_session_timeout=300

    guest_enable=YES

    guest_username=vsftpd

    user_config_dir=/etc/vsftpd/vconfig

    data_connection_timeout=3

    virtual_use_local_privs=YES

    pasv_min_port=40000

    pasv_max_port=40010

    accept_timeout=5

    connect_timeout=3
    allow_writeable_chroot=YES

    2.3、配置详解

    配置参数详解表:

    anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
    local_enable=YES 是否允许本地用户登录
    local_umask=022 默认的umask码
    anon_upload_enable=YES 是否允许匿名ftp用户访问 
    anon_upload_enable=YES 是否允许匿名上传文件
    anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利
    dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件
    xferlog_enable=YES 是否记录ftp传输过程
    connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
    chown_upload=YES
    chown_username=username
    是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主
    xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log
    xferlog_std_format=YES 是否使用标准的ftp xferlog模式
    idle_session_timeout=600 设置默认的断开不活跃session的时间
    data_connection_timeout=120 设置数据传输超时时间
    nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody
    async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.
    ascii_upload_enable=YES
    ascii_download_enable=YES
    是否使用ascii码方式上传和下载文件
    ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息
    deny_email_enable=YES
    banned_email_file=/etc/vsftpd.banned_emails
    是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中 列出的是不chroot的用户的列表
    max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止
    message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

    三、虚拟用户配置

    3.1、创建虚拟用户文件

    在ftp的默认配置路径/etc/vsftpd下创建一个专门用来存放虚拟用户账号密码的文件,名字随便起,在这里为了好记叫做virtusers,

    奇数行为用户名,偶数行为密码,当然用户名肯定不能为root咯。例如:

    vim /etc/vsftpd/virtusers

    wesalt

    wesalt

    test1

    test1

    3.2、生成虚拟用户数据文件

    将创建的用户密码加载到数据文件中。

    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

    修改数据文件权限为600

    chmod 600 /etc/vsftpd/virtusers.db

    3.3、修改ftp读取的虚拟用户文件

    备份原有的ftp配置文件

    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak 或者 mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

    修改ftp配置文件

    vim /etc/pam.d/vsftpd

    注释配置文件中的auth 及 account 的配置行,增加如下两行(32位系统lib64换成lib):

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

    四、用户和目录创建

    4.1、创建系统用户和指定家目录

    useradd test -d /web_source -s /bin/false

    web_source:test用户的家目录,也是ftp需要使用的根目录

    /bin/false:最严格的禁止login选项,一切服务都不能用,后期登录ftp使用的都是虚拟用户。

    4.2、修改目录属主和属组

    chown -R test:test /web_source

    五、虚拟用户权限配置

    5.1、创建虚拟用户配置存放目录

    mkdir /etc/vsftpd/vconfig

    cd  /etc/vsftpd/vconfig

    5.2、创建虚拟用户配置权限

    创建文件跟虚拟用户名一致:vim wesalt

    增加配置如下:

    local_root=/web_source/wesalt/

    write_enable=YES

    anon_world_readable_only=NO

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    5.3、创建虚拟用户管理目录

    mkdir -p /web_source/wesalt/

    可能在使用的时候会有权限问题,建议再次执行修改属主属组命令:chown -R test:test /web_source

    六、安全设置

    6.1、防火墙设置

    关闭firewall:systemctl stop firewalld.service

    关闭iptables:service iptables stop

    配置firewall允许ftp通过:

    firewall-cmd --zone=public --add-service=ftp --permanent

    firewall-cmd --zone=public --add-port=21/tcp --permanent

    firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent

    配置iptables允许ftp通过:

    vim /etc/sysconfig/iptables

    在文件中增加如下内容:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT

    6.2、selinux设置

    查询selinux状态:sestatus、getenforce

    selinux三种模式:

    enforcing—是强制模式系统受selinux保护。就是你违反了策略,你就无法继续操作下去
    permissive—是提示模式系统不会受到selinux保护,只是收到警告信息。permissive就是Selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来(警告信息)
    disabled—禁用selinux

    ftp通过selinux的方式:

    法一:临时调整selinux

    setenforce 1开启(Enforcing)

    setenforce 0关闭(Permissive)

    法二:永久调整selinux,需重启

    去配置文件/etc/selinux/config中修改SELINUX的值,重启生效。

    法三、解除selinux对ftp限制

    setsebool -P ftpd_connect_all_unreserved 1

    七、自动创建和删除虚拟用户

    7.1、自动创建虚拟用户

    #!/bin/bash
    echo "wesalt">> /etc/vsftpd/virtusers
    ser=`openssl rand -base64 12`
    echo $ser >> /etc/vsftpd/virtusers
    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    

    7.2、删除虚拟用户

    #!/bin/bash
    var1=`grep -n 'wesalt' /etc/vsftpd/virtusers |cut -d ":" -f 1`
    var2=$(($var1+1))
    sed -i "${var1},${var2}d" /etc/vsftpd/virtusers
    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    

      

  • 相关阅读:
    iis 站点部署后 Microsof .Net Framework异常
    数据库中GUID的生成
    影响世界的100个经典管理定律
    帕金森定律(Parkinson's Law)
    eclipse 弹出智能提示、代码自动换行
    eclipse 快捷键
    extjs grid 分页
    extjs gride 显示序号
    SharePoint 2013 Deploy Master Page And Page Layout
    正则表达式匹配并替换字符串
  • 原文地址:https://www.cnblogs.com/kowloon/p/13674305.html
Copyright © 2011-2022 走看看