Centos安装Vsftpd

    xiaoxiao2021-03-26  21

    安装部分摘自开源中国,最后红色部分解决无法登陆(cannot change directory)问题

    环境是centos6安装vsftpd 第一步:安装vsftpd,在终端允许

    # yum -y install vsftpd

    没什么问题就直接安装好啦

    第二步:编辑vsftpd的配置文件

    # vi /etc/vsftpd/vsftpd.conf

    第三步:清空文件, 然后添加如下内容:

    listen=YES background=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=NO xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to hao32 FTP servers pam_service_name=vsftpd chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

    第四步:终端运行下面命令

    # touch /etc/vsftpd/vsftpd.chroot_list # service vsftpd start

    如果出现下面这句话:

    Starting vsftpd for vsftpd: [ OK ]

    则表示成功,如果不行则用这个语句:

    /etc/rc.d/init.d/xinetd restart

    ftp默认我们使用系统用户, 现在我们来添加用户ftptest, 指向目录/home/ftptest , 权限是nologin, 就是没给shell权限, 不影响ftp的

    # useradd  ftptest  -d /home/ftptest -s /sbogin

    如果显示:in/nol

    useradd: warning: the home directory already exists. Not copying any file from skel directory into it.

    不用理会, 只是告诉你, 你指向的目录已经存在了, 这不影响 设置目录及其文件的属组, 你也可以使用别的分组方式

    # chown -R  ftptest . ftptest /home/ftptest

    设置一下用户hao32的密码, 自定义啦

    # passwd ftptest

    把用户 ftptest 加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录

    # echo ‘ ftptest ′ >> /etc/vsftpd/vsftpd.chroot_list # service vsftpd restart

    测试登陆 ftp主机: 服务器IP地址 ftp用户:  ftptest  ftp密码:  ftptest

     

    如果这个时候遇到 cannot change directory /home/ftptest

    请输入以下命令  # setsebool -P allow_ftpd_full_access 1

    # service vsftpd restart

     

    这个时候如果再遇到 java.net.SocketTimeoutException: Read timed out

    或者类似超时问题

    解决方法

    来源 :  http://www.lingdus.com/forum.php?mod=viewthread&tid=8189  在服务端配置被动模式就可以从根源上解决这问题。 1、编辑 Vsftpd  配置文件

     

    vi /etc/vsftpd/vsftpd.conf 复制代码

    2、在最下面添加以下信息

    pasv_enable=YES #开启被动模式 pasv_min_port=4000  #随机最小端口 pasv_max_port=5000  #随机最大端口 复制代码

    3、加载内核 ip_conntrack_ftp 和 ip_nat_ftp(终端执行)

    modprobe ip_conntrack_ftp modprobe ip_nat_ftp 复制代码

    4、配置 iptables 开放 4000 到 5000 端口

    vi /etc/sysconfig/iptables  在*filter下加入下 -A OUTPUT -p tcp --sport 4000:5000 -j ACCEPT -A INPUT -p tcp --dport 4000:5000 -j ACCEPT 复制代码

    5、加载 iptables 配置

    iptables-restore < /etc/sysconfig/iptables 复制代码

    6、重启 Vsftpd

    service vsftpd restart 复制代码
    转载请注明原文地址: https://ju.6miu.com/read-659572.html

    最新回复(0)