vsftp搭建(代码片段)

2012blog 2012blog     2022-12-20     755

关键词:

安装前的准备

1、关闭防火墙或者开端口权限。一般是firewalld或者iptables。

systemctl stop firewalld
systemctl disable firewalld
防火墙配置

如果开启防火墙,请开放21端口,被动模式下设置最大和最小端口范围,并在防火墙开放端口范围。

修改vsftpd.conf文件,添加

pasv_min_port=8022          #最小端口
pasv_max_port=8030         #最大端口
pasv_promiscuous=YES      #开启pasv(被动模式)

放开21端口:firewall-cmd –zone=public –add-port=21/tcp –permanent

放开8022-8030端口:firewall-cmd –zone=public –add-port=8022-8030/tcp –permanent

重新加载防火墙:firewall-cmd –reload

可能用到的命令:

永久开放 ftp 服務:firewall-cmd –add-service=ftp –permanent (关闭ftp服务:firewall-cmd –remove-service=ftp –permanent) (验证不起作用)

systemctl start firewalld 启动防火墙服务

firewall-cmd –add-service=ftp 暂时开放ftp服务

firewall-cmd –add-service=ftp –permanent永久开放ftp服務

firewall-cmd –remove-service=ftp –permanent永久关闭ftp服務

systemctl restart firewalld 重启firewalld服务

firewall-cmd –reload 重载配置文件

firewall-cmd –query-service ftp查看服务的启动状态

firewall-cmd –list-all    显示防火墙应用列表

firewall-cmd –add-port=8001/tcp    添加自定义的开放端口

iptables -L -n | grep 21 查看设定是否生效

firewall-cmd –state 检测防火墙状态

2、关闭sellinux

立即关闭

setenforce 0

重启也关闭

vi /etc/selinux/config
  • 修改

 

SELINUX=disabled
  • 查看是否关闭
getenforce

二、安装vsftpd

yum install -y vsftpd
# 启动
systemctl start vsftpd
# 自启
systemctl enable vsftpd

 

三、配置vsftpd

  • 创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录。创建之后所有虚拟用户使用这个系统用户访问文件。
useradd vsftpd -d /home/vsftpd -s /bin/false

方式一、虚拟用户配置

1、创建虚拟用户主目录,比如虚拟用户叫ftp1,执行下面的命令。

mkdir -p /home/vsftpd/ftp1

2、创建这个虚拟用户

vi /etc/vsftpd/loginusers.conf

增加

ftp1
123456

这样就创建了ftp1这个虚拟用户,密码为123456

3、根据这个文件创建数据库文件

db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db

4、启用这个数据库文件

vi /etc/pam.d/vsftpd

注释掉所有内容后,增加下面的内容

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

5、创建虚拟用户配置文件

mkdir /etc/vsftpd/userconf

这里的文件名称必须与虚拟用户名一致

vi /etc/vsftpd/userconf/ftp1

增加下面的内容

local_root=/home/vsftpd/ftp1/
write_enable=YES

设定主目录为/home/vsftpd/ftp1

6、最后修改主配置文件

vi /etc/vsftpd/vsftpd.conf

更改

anonymous_enable=NO

去掉注释

chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES

增加

guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES

配置介绍:

  • anonymous_enable=NO 禁止匿名用户登录
  • chroot_local_user=YES 禁止用户访问除主目录以外的目录
  • ascii_upload_enable=YES ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能
  • guest_enable=YES 启动虚拟用户
  • guest_username=vsftpd 虚拟用户使用的系统用户名
  • user_config_dir=/etc/vsftpd/userconf 虚拟用户使用的配置文件目录
  • allow_writeable_chroot=YES 最新版的vsftpd为了安全必须用户主目录(也就是/home/vsftpd/ftp1)没有写权限,才能登录,或者使用allow_writeable_chroot=YES
  • 最后重启服务使配置生效
systemctl restart vsftpd

备注:设置ftp1目录权限为vsftpd,  chown -R vsftpd:vsftpd /home/vsftpd/ftp1,否则没有权限创建目录等写的权限,设置777权限也不行。

方式二、本地用户配置

配置 FTP 权限

1、了解 VSFTP 配置

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

vsftpd.conf 为主要配置文件

ftpusers 配置禁止访问 FTP 服务器的用户列表

user_list 配置用户访问控制——这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器

2、阻止匿名访问和切换根目录

匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

# 禁用匿名用户  YES 改为NO anonymous_enable=NO

# 禁止切换根目录 删除# chroot_local_user=YES

3、修改默认根目录

修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:

加入如下几行:

local_root=/var/www/html
chroot_local_user=YES
anon_root=/var/www/html

注:local_root 针对系统用户;anon_root 针对匿名用户。

编辑完成后保存配置,重新启动 FTP 服务 service vsftpd restart

其它配置项说明:

anonymous_enable=YES #允许匿名登陆

local_enable=YES #启动home目录

write_enable=YES #ftp写的权限

local_umask=022

dirmessage_enable=YES #连接打印的消息

connect_from_port_20=YES #20端口

xferlog_std_format=YES

idle_session_timeout=600

data_connection_timeout=300

accept_timeout=60

connect_timeout=60

ascii_upload_enable=YES #上传

ascii_download_enable=YES #下载

chroot_local_user=NO #是否限制用户在主目录活动

chroot_list_enable=YES #启动限制用户的列表

chroot_list_file=/etc/vsftpd/chroot_list #每行一个用户名

allow_writeable_chroot=YES #允许写

listen=NO

listen_ipv6=YES

pasv_min_port=50000 允许ftp工具访问的端口起止端口

pasv_max_port=60000

pam_service_name=vsftpd #配置虚拟用户需要的

userlist_enable=NO #配置yes之后,user_list的用户不能访问ftp

tcp_wrappers=YES

chroot_list 文件需要自己建,内容一行一个用户名字

anon_root=/data/ftp/public #修改匿名用户的访问路径

4、 创建 FTP 用户

新建一个不能登录系统用户. 只用来登录ftp服务 ,这里如果没设置用户目录。默认是在home下:

useradd ftpuser -d /home/vsftpd -s /bin/false

为ftpuser用户设置密码:passwd ftpuser

可能用到:

设置用户的主目录:usermod -d /data/ftp ftpuser

彻底删除用户:#userdel -rf Fuser   //强制删除用户及相关目录文件

变更用户属性:#usermod -s /sbin/nologinftpuser (/bin/bash:可以登录shell,/bin/false:禁止登录shell )

查看当前服务:#netstat -lntp

备注:需要设置根目录权限为777 ,否则会出现无法写入的问题,chmod 777 /var/www/html

四、访问FTP

通过 FTP 客户端工具访问

FTP 客户端工具众多,下面推荐两个常用的:

WinSCP– Windows 下的 FTP 和 SFTP 连接客户端

FileZilla – 跨平台的 FTP 客户端,支持 Windows 和 Mac

本人测试时使用的是Xftp

打开Xftp软件,新建一个会话,输入对应的信息,点击确定(查看ip地址:ip addr)

技术分享图片

选中我们新建的会话,点击连接

技术分享图片

连接成功后就可以使用Xftp上传文件了

技术分享图片

五、要使用Xshell连接,则需要安装openssh-service

查看是否安装ssh安装包,CentOS是被访问者,所以需要安装ssh-server安装包(如果没任何输出显示表示没有安装 openssh-server,可以通过输入

yum install openssh-serve进行安装),查看命令为:rpm -qa | grep ssh,如下图所示,已经安装:技术分享图片找到/etc/ssh目录下的sshd_config文件,修改一些参数。去掉端口和监听地址的注释;然后允许远程登录;再开启使用用户名密码作为连接验证

技术分享图片技术分享图片技术分享图片

开启sshd服务,service sshd start

技术分享图片

检查sshd是否开启,ps -e|grep sshd

技术分享图片

或者查看22端口是否被监听,netstat -an | grep 22

技术分享图片

使用Xshell进行连接,打开Xshell软件,新建一个会话,输入对应的信息,点击确定(查看ip地址:ip addr)

技术分享图片技术分享图片

选中我们新建的会话,点击连接

技术分享图片

连接成功后就可以使用Xshell执行命令了

技术分享图片

参考:https://blog.csdn.net/will0532/article/details/79175478

https://blog.csdn.net/qq_32786873/article/details/78730303

https://www.cnblogs.com/huangye-dream/p/3454595.html

https://blog.csdn.net/yifansj/article/details/72855484

vsftp-虚拟用户配置(代码片段)

Vsftp虚拟用户配置承接上上文CenOS_7搭建Vsftpd服务-匿名用户承接上文Vsftpd-系统用户配置Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证&#x... 查看详情

vsftp-虚拟用户配置(代码片段)

Vsftp虚拟用户配置承接上上文CenOS_7搭建Vsftpd服务-匿名用户承接上文Vsftpd-系统用户配置Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证&#x... 查看详情

linux安装配置vsftp搭建ftp的详细配置(代码片段)

修改配置文件配置文件/etc/vsftpd/vsftpd.conf复制代码复制代码anonymous_enable=NO#不允许匿名访问,禁用匿名登录chroot_local_user=YES#启用限定用户在其主目录下use_localtime=YES#使用本地时(自行添加)chroot_list_enable=YESlocal_enable&... 查看详情

cenos7搭建vsftpd(代码片段)

基于CentOS7.9,搭建Vsftp服务器1.安装&启动Vsftpdyuminstallvsftpd*-ysystemctlstartvsftpd2.查看默认配置文件[root@localhost~]#cat/etc/vsftpd/vsftpd.conf|grep-Ev"^#|^$"anonymous_enable=YESlocal_enab 查看详情

ftp(filetransferprotocol)搭建文件传输服务器vsftp(vsftpd)(ftp和sftp区别)(未完成)(代码片段)

...文章2:Ubuntu16.04下vsftpd安装配置实例(ftp服务器搭建)linuxubuntu16.04安装vsftp擦嘞,,我差点按照一个vsftpd的博文去安装。。。。。我靠,其实就应该安 查看详情

linuxcentos安装搭建ftp文件服务(代码片段)

本文环境:centos7,IP=192.168.1.111.安装vsftpd和默认配置启动 1.1 安装vsftpdyuminstall-yvsftpd 1.2启动vsftpdsystemctlstartvsftpd查看vsftpd状态和运行systemctlstatusvsftpd或者netstat-nltp|grep212.配置vsftpd2.1配置路径vsftp 查看详情

安装vsftp(代码片段)

这篇博客简单记录了vsftp的安装,不涉及具体参数的解释说明安装环境#cat/etc/redhat-releaseCentOSLinuxrelease7.5.1804(Core)#getenforceDisabled#systemctlis-activefirewalld.serviceunknownyum安装vsftp#yumlist|grepvsftpvsftpd.x86_643.0.2-25 查看详情

vsftp配置使用(代码片段)

...全称是VerySecureFTP从此名称可以看出来,编制者的初衷是代码的安全。  安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。  在速度方面,使用ASCII代码的模式下载数据时... 查看详情

实现vsftp虚拟用户和iptables基本用法(代码片段)

1.搭建vsftpd服务器1.安装vsftpd服务[[email protected]~]#yuminstall-yvsftpd2.启动服务[[email protected]~]#systemctlstartvsftpd[[email protected]~]#ss-ntlStateRecv-QSend-QLocalAddress:PortPeerAddress:PortLISTEN0128*:111*:*LISTEN05192.168.122.1:53*:*LISTEN0128*:22*:*LISTEN012... 查看详情

vsftp搭建

FTP全名是FileTransferProtocol(文件传输协议)C/S架构简介:下面是关于FTP这个服务的属性(1)FTP服务相关软件  IISServ-UVsftpdproftpdpureftpd(2)FTP客户端相关软件  ftp命令CuteFTPFlashFTPLeapFTPFilezillagftpkuftp(3)VSFTP的守护进程&nbs... 查看详情

vsftp服务搭建配置

1、安装vsftp2、配置服务3、创建虚拟用户4、安装db45、建立认证文件6、配置admin和pub用户访问权限7、验证vsftp服务1、安装vsftp        yum-yinstallvsftpd  备注:Centos7无法安装db4,需要安装以下软件... 查看详情

vsftp匿名用户搭建

 ./configure出现:请装:出现这个:请装然后: ln-sv/lib/security/pam_mysql.so/lib64/security/    查看详情

vsftp搭建与概述

VSFTP服务概述服务名服务端客户端适用于范围FTPlinux/windowslinux/windows内网、外网NFSlinuxlinux内网、外网sambalinux/windowslinux/windows内网               &n 查看详情

vsftp配置使用(代码片段)

...全称是VerySecureFTP从此名称可以看出来,编制者的初衷是代码的安全。  安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。  在速度方面,使用ASCII代码的模式下载数据时... 查看详情

安装vsftp,虚拟用户访问(代码片段)

安装vsftp虚拟用户访问安装主机:192.168.0.25一、安装ftp1.查看是否安装了vsftprpm-qa|grepvsftpd2.未安装vsftp,则执行下列命令安装yum-yinstallvsftpd二、修改vsftpd.conf配置文件vi/etc/vsftpd/vsftpd.conf修改下面配置anonymous_enable=NO(不允许匿名用... 查看详情

cenos_7搭建vsftpd服务-匿名用户(代码片段)

基于CentOS7.9,搭建Vsftp服务器-匿名用户配置登录Vsftpd有三种用户类型,可以配置登陆,分别是1:匿名用户2:系统用户3:虚拟用户此文是虚拟用户配置登陆,后面还有两篇系统用户,虚拟用户配置... 查看详情

centos|rhel搭建vsftp

         vsftp,在ftp传输中相对安全的01、安装vsftpdyuminstall-yvsftpd版本信息:InstalledPackagesName       :vsftpdArch   &n 查看详情

vsftp-基于虚拟用户(代码片段)

一、在线安装vsftpd需要的组件[[email protected]home]#yum-yinstallvsftpd*[[email protected]home]#yum-yinstallpam*[[email protected]home]#yum-yinstalldb4*[[email protected]home]#yum-yinstalldb4- 查看详情