zoukankan      html  css  js  c++  java
  • 快速搭建vsftp 服务器并配置指定目录

    1  搭建vsftp 服务器

    前期准备:

    1、用root 进入系统

    2、使用命令 rpm  -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本 

    3、使用命令rpm -e vsftpd 即可卸载ftp

    4、再使用rpm  -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上显示vsftpd的版本

    一:安装vsftpd

    查看是否已经安装vsftpd
    rpm -qa | grep vsftpd

    如果没有,就安装,并设置开机启动
    yum -y install vsftpd
    chkconfig vsftpd on

    二、配置防火墙

    打开/etc/sysconfig/iptables文件
    vi /etc/sysconfig/iptables

    在REJECT行之前添加如下代码
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

    保存和关闭文件,重启防火墙
    service iptables start

    三、配置vsftpd服务器

    1.默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
    vi /etc/vsftpd/vsftpd.conf

    2.修改配置信息

    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd.chroot_list

    改为
    chroot_list_enable=YES
    # (default follows)
    chroot_list_file=/etc/vsftpd/chroot_list

    3.增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
    useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

    4.设置用户口令
    passwd ftpuser

    5、编辑文件chroot_list:
    vi /etc/vsftpd/chroot_list

    内容为ftp用户名,每个用户占一行,如:

    peter
    john

    6、重新启动vsftpd
    service vsftpd restart

    另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:(未用过)

    http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

    出现的错误【这个还没试过,有试过的老铁留言通知下,谢谢!】

    1、500 OOPS: cannot change directory
    解决方法:

    在终端输入命令:

    1.setsebool -P ftpd_disable_trans 1

    2.service vsftpd restart

    就OK了!
    原因:这是因为服务器开启了selinux,这限制了FTP的登录。

    上传人员权限控制:

    file_open_mode上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。
    
    local_umask=022         这是指定本地用户上传后的文件权限设置
    umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
    umask = 022 时,新建的目录 权限是755,文件的权限是 644
    umask = 077 时,新建的目录 权限是700,文件的权限时 600
    vsftpd的local_umask和anon_umask借鉴了它
    默认情况下vsftp上传之后文件的权限是600,目录权限是700
    想要修改上传之后文件的权限,有两种情况
    如果使用vsftp的是本地用户
    则要修改配置文件中的 local_umask 的值
    如果使用vsftp的是虚拟用户
    则要修改配置文件中的 anon_umask 的值

    保持svftp 链接状态:

    配置  data_connection_timeout 参数值

    注:本人遇到连接后无任何东西,解决方案:

    getsebool -a|grep ftp
    allow_ftpd_anon_write --> on   
    allow_ftpd_full_access --> on //创建文件及文件夹  
    allow_ftpd_use_cifs --> off  
    allow_ftpd_use_nfs --> off  
    ftp_home_dir --> on //显示文件夹及文件  
    ftpd_connect_db --> off  
    ftpd_use_passive_mode --> off  
    httpd_enable_ftp_server --> off  
    tftp_anon_write --> on  

    用如下命令把以上信息设为ON

    setsebool allow_ftpd_full_access=1  

    参考:

    http://www.linuxidc.com/Linux/2015-10/123848.htm

    http://blog.csdn.net/tomyjohn/article/details/23250779

    配置文件说明:

    Local_enable=yes               允许使用本地用户来登陆ftp
    在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
    下面有关linux中ftp的设置项:
    限制用户只能在自己的目录中
    Chroot_list_enable=yes                           文件中的名单可以调用 
    Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no,在文件中加入用户名vsftpd.conf的参数
    程序代码:Anonymous_enable=yes                        允许匿名登陆 
    Dirmessage_enable=yes                         切换目录时,显示目录下.message的内容 
    Local_umask=022                                  FTP上本地的文件权限,默认是077 
    Connect_form_port_20=yes                   启用FTP数据端口的数据连接  
    Xferlog_enable=yes                               激活上传和下传的日志 
    Xferlog_std_format=yes                         使用标准的日志格式 
    Ftpd_banner=XXXXX                              显示欢迎信息 
    Pam_service_name=vsftpd                      验证方式
    Listen=yes                                            独立的VSFTPD服务器 
    Anon_upload_enable=yes                       匿名用户上传权限 
    Anon_mkdir_write_enable=yes                创建目录的同时可以在此目录中上传文件 
    Write_enable=yes                                  本地用户写的权限 
    Anon_other_write_enable=yes                匿名帐号可以有删除的权限 
    Anon_world_readable_only=no                匿名用户浏览权限 
    Ascii_upload_enable=yes                         启用上传的ASCII传输方式 
    Ascii_download_enable=yes                     启用下载的ASCII传输方式 
    Banner_file=/var/vsftpd_banner_file          用户连接后欢迎信息使用的是此文件中的相关信息 
    Idle_session_timeout=600(秒)              用户会话空闲后10分钟 
    Data_connection_timeout=120(秒)       将数据连接空闲2分钟断 
    Accept_timeout=60(秒)                      将客户端空闲1分钟后断 
    Connect_timeout=60(秒)                    中断1分钟后又重新连接 
    Local_max_rate=50000(bite)                本地用户传输率50K 
    Anon_max_rate=30000(bite)               匿名用户传输率30K 
    Pasv_min_port=5000                             将客户端的数据连接端口改在 
    Pasv_max_port=6000                             5000—6000之间 
    Max_clients=200                                    FTP的最大连接数 
    Max_per_ip=4                                       每IP的最大连接数 
    Listen_port=5555                                  从5555端口进行数据连接 
    Local_enble=yes                                    本地帐户能够登陆 
    Write_enable=no                                   本地帐户登陆后无权删除和修改文件 
    Chroot_local_user=yes                            本地所有帐户都只能在自家目录 
    Chroot_list_enable=yes                           文件中的名单可以调用 
    Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no 
    Userlist_enable=yes                                在指定的文件中的用户不可以访问 
    Userlist_deny=yes 
    Userlist_file=/etc/vsftpd.user_list 
    Banner_fail=/路径/文件名                         连接失败时显示文件中的内容 
    Ls_recurse_enable=no 
    Async_abor_enable=yes 
    one_process_model=yes 
    Listen_address=10.2.2.2                          将虚拟服务绑定到某端口 
    Guest_enable=yes                                   虚拟用户可以登陆 
    Guest_username
    user_config_dir                    设置虚拟用户的主配置文件

      #添加读取用户配置目录(注:本行配置默认没有需要手动输入)

      user_config_dir=/etc/vsftpd/userconf  [用于配置用户主目录]

     

    设置用户主目录:https://www.cnblogs.com/alex-blog/articles/2652337.html 

  • 相关阅读:
    平衡“把事情做完”和“一味追求时间延长”
    a little sad
    测试
    【转】无法打开登录所请求的数据库 "xxxx"。登录失败。 用户 'xxxxx' 登录失败。
    JavaScript.JQuery.Ajax学习笔记
    RouteDebug.dll
    自由社区网站的搭建(一)——前言
    连接数据库时注意连接方式
    SQL高版本向低版本附加数据库时出现的问题
    安装sql2017时提示Polybase 要求安装Oracle JRE 7更新51 (64位)或更高版本”规则失败
  • 原文地址:https://www.cnblogs.com/sien6/p/8194368.html
Copyright © 2011-2022 走看看