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
--------------------------------------------------------------------------------------------------------------------------
2、61.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密码不正确。--重置FTP密码后再做登录测试;
- FTP软件版本太低。--下载最新的FTP软件;
- 服务器端口未开启。--开启服务器端口。方法见:服务器如何开启端口;
- 使用远程连接服务器。--服务器远程连接怎么使用;
还有可能是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.检查目录权限
==============================================================================

浙公网安备 33010602011771号