vsftp

vsftp】

一、安装ftp服务

1、检查是否已经安装

# rpm -qa | grep ftp

ftp-0.17-54.el6.x86_64

vsftpd-2.2.2-21.el6.x86_64           ------->显示已安装

 

2、若未安装则进行安装 

# yum -y install vsftpd ftp

#chkconfig vsftpd on       --------->设置为开机自启动

 

3、安装基于普通文件的文件型认证数据库的生成工具 

# rpm -qa | grep db4-utils

# yum -y install db4-utils

 

注意设置iptables 只开放相应网段的21端口!!!!

-A INPUT -s 180.232.84.51/32 -j ACCEPT
-A INPUT -s 180.232.84.51/32 -p tcp -m multiport --dports 20,21 -j ACCEPT
#-A INPUT -s 180.232.84.51/32 -p tcp -m multiport --dports 5000,6000 -j ACCEPT
-A INPUT -s 180.232.84.51/32 -p tcp -m tcp --dport 20000:20999 -j ACCEPT


centos7:

firewall-cmd --zone=public --permanent --add-port=20/tcp
firewall-cmd --zone=public --permanent --add-port=21/tcp
#firewall-cmd --zone=public --permanent --add-port=5000/tcp
#firewall-cmd --zone=public --permanent --add-port=6000/tcp
firewall-cmd --permanent --zone=public --add-port=20000-20999/tcp
firewall-cmd --reload

 

5000 6000 看配置

 

 

(开放被动模式的端口)    报错问题先关闭防火墙试试

 

二、配置ftp

1、配置vsftpd配置文件

# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd1.log

connect_from_port_20=NO

vsftpd_log_file=/var/log/vsftpd2.log    

xferlog_std_format=YES

dual_log_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service.

#chroot_local_user=YES

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd/vu.txt

use_localtime=YES

listen=YES

pam_service_name=vsftpd.vu  

#userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=root

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/conf.vu   

pasv_enable=YES

pasv_address=10.20.41.140

pasv_max_port=20999

pasv_min_port=20000

# service vsftpd restart

 

  2、创建映射虚拟用户的系统用户

 # useradd -d /home/bwttomcat -s /sbin/nologin -M bwttomcat
#
useradd bwttomcat -g bwttomcat

 

  3、创建虚拟用户(增加用户)    

 

PS:  只是增加用户的话,只要执行3.1 3.2 步骤,重启ftp

 

3.1 

 # vim /etc/vsftpd/vu.txt    编辑虚拟用户账号和密码文件

  test            ----------->奇数行为用户名

  123456           ----------->偶数行为密码

  ...

  usernameN

  passwordN

 

[root@localhost ]# cat /etc/vsftpd/vu.txt 

 

3.2 认证的文件型数据库生成

# db_load -T -t hash -f /etc/vsftpd/vu.txt /etc/vsftpd/vu.db

 

3.3修改权限 

# chmod 600 /etc/vsftpd/vu.*

 

  修改VSFTP默认的认证方式,改为基于刚才生成的文件型数据库

# vi /etc/pam.d/vsftpd.vu             只保留这两行

auth     required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vu

account  required /lib64/security/pam_userdb.so  db=/etc/vsftpd/vu

 

  创建虚拟用户配置文件目录

# mkdir /etc/vsftpd/conf.vu

 

 创建虚拟用户各自的目录及配置文件(可指向同一目录)--->已有不用创建 

# mkdir /home/java/tomcatMember/project/member/jsp      

# chmod 700 /home/java/tomcatMember/project/member/jsp

# chown bwttomcat.bwttomcat  /home/java/tomcatMember/project/member/jsp

# vi /etc/vsftpd/conf.vu/baker

 

[root@localhost ~ 22:08:22&&2]#cat /etc/vsftpd/conf.vu/baker 

  write_enable=YES                               #当前虚拟用户写权限

  local_umask=022                  #本地用户默认上传权限

  anon_world_readable_only=NO              #当前虚拟用户下载权限

  anon_upload_enable=YES                      #当前虚拟用户上传权限

  anon_mkdir_write_enable=YES               #当前虚拟用户创建目录权限

  anon_other_write_enable=YES               #当前虚拟用户删除和重命名权限

  local_root=/home/java/tomcatMember/project/member/jsp       #当前虚拟用户家目录

 anon_umask=022                      #上传默认权限

 

重启vsftpd

# service vsftpd restart

 

# /bin/systemctl restart vsftpd.service

 

 

  添加FTP用户的步骤

      1.在account.txt中添加用户名和密码

      2.运行如下命令,将用户名和密码添加到数据库中

        db_load -T -t hash -f ./account.txt /etc/vsftpd/account.db

      3.在/home/ftpsite中新建一个文件夹,与用户明相同

      4.在vsftpd_user_conf文件夹下新建和用户名相同的文件,并在其中加入
       local_root=/home/ftpsite/用户名

 

优秀文章

https://blog.csdn.net/sun120204535/article/details/72865865

 

--------------------------------------------------------------------------------------------------------------------------

 

261.216.152.41 OG-INIT-FTP  pure-ftpd

 

启停:/etc/init.d/pure-ftpd   start/stop

# ls /etc/pure-ftpd


1、增加用户: 

# cd  /etc/pure-ftpd

# vim pureftpd.passwd

 

/home/java/tomcatMember/project/member/jsp/  ------------>虚拟用户目录

直接复制一行现成用户,并把用户改成要添加的username保存


1.1运行

# pure-pw mkdb                --------------提交数据库

 

1.2设置密码

# pure-pw passwd username          ------------->输入两次新密码

# pure-pw mkdb         ----------提交数据库 OK。

 

Linux ftp连接方式

$ftp

ftp> open

(to) 144.48.220.63

Name (144.48.220.63:bwttomcat): sitgpo

Password:

ftp> ls

 

 

 

 =================================================================================================================

报错1

解决方法 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

 

解决方法:

#vi /etc/vsftpd.conf (或者是在/etc/vsftpd/vsftpd.conf,总之知道自己服务器的配置文件)

添加 allow_writeable_chroot=YES

 

保存退出

service vsftpd restart 重启vsftp服务,即可正常登录

 

--------------------------------------------------------------------------

报错2

本地测试ls 报错

解决方法:

大概率是防火墙没开放端口  本地防火墙 微软云防火墙都要检查

 

 

--------------------------------------------------------------------------

报错3:

 

FTP连接时提示:
响应: 331 Please specify the password.
命令: PASS ************
响应: 530 Login incorrect.
错误: 严重错误: 无法连接到服务器

 

原因及解决方法:

    1.检查 vu.db生成了么

 

还有可能是FTP用户权限配置有问题,如果密码正确还是提示530,建议检查一下FTP用户的web文件夹主目录是否存在以及用户是否有权限访问主目录。

 

 

--------------------------------------------------------------------------

报错4:  登陆成功 读取目录失败

响应: 425 Failed to establish connection.
错误: 读取目录列表失败
命令: PWD
响应: 257 "/"
命令: TYPE I
响应: 200 Switching to Binary mode.
命令: PASV
响应: 227 Entering Passive Mode (47,244,199,130,109,142).
命令: LIST
错误: 无法建立数据连接: ECONNREFUSED - 连接被服务器拒绝
响应: 425 Failed to establish connection.
错误: 读取目录列表失败

 

原因及解决方法:

    1.检查目录权限

 

 

==============================================================================

 

posted @ 2020-09-30 18:07  扶我起来写代码  阅读(690)  评论(0)    收藏  举报