CentOS搭建vsftpd服务器详解
《linux服务器配置与管理》教案06-任务六 FTP 服务的配置与管理

教学过程
师生活动:
一、复习提问
1.NFS服务器的配置与调试方法
2.NFS客户端的配置方法
3.NFS故障排除的技巧
二、导入新课
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。
3.建立2个本地用户:schema、cookie,密码与用户名同名,在根目录下建立与两个用户同名的目录。本地用户schema、cookie只能登录到对应的/schema、/cookie目录,不能切换到指定目录以外的目录。
4.限制最多3个用户登录ftp服务,并设置开机自动加载该服务。
学生活动:观看教师演示、边学边做、思考、讨论、完成任务实践
三、讲授新课
(1)公司现有多个部门多个员工,因工作需要,只允许ftpuser1和ftpuser2这两个虚拟用户具有FTP服务器的上传和下载管理,其他用户只具有浏览和下载功能。在 CentOS7.4 系统字符界面服务器上实现。
(2)在 Ubuntu 18.04 系统字符界面界面配置FTP服务。
(1)配置ftp网络软件源;(2)配置ftp本地软件源
Vsftpd配置(Centos7)

Vsftpd配置(Centos7)6.1、Vsftpd介绍:⽤于上传图⽚和使⽤ FTP 协议访问图⽚服务器。
解决分布式环境的图⽚访问问题,使⽤vsftpd对图⽚做统⼀管理。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的⼀个最⼤的特点。
vsftpd 是⼀个在 UNIX 类操作系统上运⾏的服务的名字,它可以运⾏在诸如 Linux、BSD、Solaris、 HP-UNIX 等系统上⾯,是⼀个完全免费的、开放源代码的 ftp 服务器软件,⽀持很多其他的FTP 服务器所不⽀持的特征。
⽐如:⾮常⾼的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟⽤户、⽀持IPv6、速率⾼等。
vsftpd是⼀款在Linux发⾏版中最受推崇的FTP服务器程序。
特点是⼩巧轻快,安全易⽤。
在开源操作系统中常⽤的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等。
1、特点:(1)它是⼀个安全、⾼速、稳定的FTP服务器;(2)它可以做基于多个IP的虚拟FTP主机服务器;(3)匿名服务设置⼗分⽅便;(4)匿名FTP的根⽬录不需要任何特殊的⽬录结构,或系统程序或其它的系统⽂件;(5)不执⾏任何外部程序,从⽽减少了安全隐患;(6)⽀持虚拟⽤户,并且每个虚拟⽤户可以具有独⽴的属性配置;(7)可以设置从inetd中启动,或者独⽴的FTP服务器两种运⾏⽅式;(8)⽀持两种认证⽅式(PAP或xinetd/ tcp_wrappers);(9)⽀持带宽限制;(10)不⽀持⽂件的在线编辑,需要先将⽂件下载,编辑完成后再上传。
VSFTP市场应⽤⼗分⼴范,很多国际性的⼤公司和⾃由开源组织在使⽤.2、vsftpd的访问模式:(1)ftp基于的传输协议:FTP是仅基于tcp的服务,不⽀持udp。
FTP使⽤2个端⼝,⼀个数据端⼝和⼀个命令端⼝(也可叫做控制端⼝)。
通常来说这两个端⼝是21(命令端⼝)和20(数据端⼝)。
vsftpd配置详解

vsftpd配置详解(上)/xootus/blog/item/5247b0248329d66734a80fbe.html 一、vsftpd 简介Vsftpd是个基于GPL发布的类UNIX系统的ftp服务器软件。
其全称是Very Secure FTP Deamon,在安全性、速度和稳定性都有着不俗的表现。
在安全性方面,vsftpd针对程式的权限来设计,以一般身份启动服务,对Linux系统的使用权限较低;在千兆以太网上,vsftpd 的速度能够达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发连接为1500用户,峰值达4000用户,而这些还是在单机上实现的。
此外,vsftpd 还包括以下特性:基于IP的虚拟服务器虚拟用户,结合数据库的用户验证每个用户单独配置文档速率限制IPV6支持支持SSL加密传输……哪些站点在使用vsftpd以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)ftp-stud.fht-esslingen.degd.tuwien.ac.atftp.sunet.se以上内容摘自vsftpd官方网站/二、软件安装和卸载获得软件vsftpd现在最新版本为2.0.5,下载地址:ftp:///users/cevans/vsftpd-2.0.5.tar.gz软件安装解压软件,编辑builddefs.h文档# tar zxvf vsftpd-2.0.5.tar.gz# cd vsftpd-2.0.5# vi builddefs.h找到下面三行,其含义如右所示#undef VSF_BUILD_TCPWRAPPERS //是否允许使用TCP Wrappers#define VSF_BUILD_PAM //是否允许使用PAM认证#undef VSF_BUILD_SSL //是否允许使用SSL假如要允许以上所示某项功能,使把undef改为define即可,注意每行前的“#“号不是注释,不能去掉(熟悉C语言的同志应该知道这个“#”是什么意思)。
asp.netcore简单部署之FTP配置(CentOS7.0安装配置Vsftp服务器)

core简单部署之FTP配置(CentOS7.0安装配置Vsftp服务器)坑和结果1. 正确的跟着这个内容⾛,是靠谱的。
2. /etc/pam.d/vsftpd的⽂件头部加⼊以下信息(在后⾯加⼊⽆效)3.编辑⽂件需要注意,按键盘I是开始编辑,⽂件内容过长时,请注意使⽤⽅向键浏览。
编辑状态下退出需要先按ESC,然后输⼊:wq!,表⽰强制保存退出。
:q!表⽰强制退出不保存。
以下是配置过程⼀、配置防⽕墙,开启FTP服务器需要的端⼝CentOS 7.0默认使⽤的是firewall作为防⽕墙,这⾥改为iptables防⽕墙。
1、关闭firewall:systemctl stop firewalld.service #停⽌firewallsystemctl disable firewalld.service #禁⽌firewall开机启动2、安装iptables防⽕墙yum install iptables-services #安装vi /etc/sysconfig/iptables #编辑防⽕墙配置⽂件# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT:wq! #保存退出systemctl restart iptables.service #最后重启防⽕墙使配置⽣效systemctl enable iptables.service #设置防⽕墙开机启动说明:21端⼝是ftp服务端⼝;10060到10090是Vsftpd被动模式需要的端⼝,可⾃定义⼀段⼤于1024的tcp端⼝。
VSFTPD配置方法

VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。
-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。
``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。
根据所使用的防火墙软件和具体配置方法来进行相应的设置。
5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。
6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。
以上就是VSFTPD配置的一般方法。
Linux(Centos)配置vsftp使用账号密码(虚拟用户)登录ftp进行文件上传和修改

Linux(Centos)配置vsftp使⽤账号密码(虚拟⽤户)登录ftp进⾏⽂件上传和修改安装vsftpyum install vsftpd -y安装完成之后进⼊vsftp的配置⽂件夹cd /etc/vsftpd/⽂件夹内容如下[root@VM-0-12-centos vsftpd]# lltotal 20-rw------- 1 root root 125 Oct 1400:10 ftpusers-rw------- 1 root root 361 Oct 1400:10 user_list-rw------- 1 root root 5116 Oct 1400:10 vsftpd.conf-rwxr--r-- 1 root root 338 Oct 1400:10 vsftpd_conf_migrate.sh在当前⽬录下创建⼀个⽤户名和密码的⽂件⽂件名名称为 ftp_user.txtvim /etc/vsftpd/ftp_user.txt再ftp_user.txt⽂件⾥配置⽤户和密码yvioo123456kaifa12345678其中yvioo 是ftp登录的⽤户名123456 是ftp中yvioo⽤户登录的密码kaifa 是ftp登录的⽤户名12345678 是ftp中kaifa⽤户登录的密码以此内推,可以添加多个然后保存退出wq!执⾏命令⽣成虚拟数据库db_load -T -t hash -f /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db其中/etc/vsftpd/ftp_user.txt 是上⾯存放⽤户名和密码⽂件的绝对路径/etc/vsftpd/ftp_login.db 这个是⽣成的数据库的路径数据库名称为 ftp_login.db设置⽣成的数据库的访问权限chmod 777 /etc/vsftpd/ftp_login.db编辑账号的pam验证⽂件vim /etc/pam.d/vsftpd在最上⽅增加auth sufficient pam_userdb.so db=/etc/vsftpd/ftp_loginaccount sufficient pam_userdb.so db=/etc/vsftpd/ftp_login其中db=/etc/vsftpd/ftp_login 这个就是上⼀步⽣成的虚拟数据库(⽂件名称根据⾃⼰的来),注意:这⾥不⽤加 .db 后缀如下图所⽰创建⼀个⽂件夹mkdir /home/vsftpd新建⼀个系统⽤户vsftpd⽤户登录终端设为/bin/false(即不能登录系统)useradd vsftpd -d /home/vsftpd -s /bin/false其中vsftpd 这个就是创建的⽤户的⽤户名(这个下⾯配置⽂件⾥会使⽤)/home/vsftpd 就是刚才创建的⽂件夹根据需要创建修改/etc/vsftpd/vsftpd.conf,以下设置vim /etc/vsftpd/vsftpd.conf修改配置#禁⽤匿名登⼊anonymous_enable=YES 改为 anonymous_enable=NO#监听为专⽤模式listen=NO 改为 listen=YES#将ipv6监听注释掉listen_ipv6=YES 改为 #listen_ipv6=YES在配置⽂件底部增加#对⽤户访问只限制在主⽬录不能访问其他⽬录(这个已经有了但是默认是注释的可以取消注释或者直接新增)chroot_local_user=YES#启⽤guestguest_enable=YES#使⽤虚拟账号形式(vsftpd 就是我们上⾯创建的⽤户的⽤户名)guest_username=vsftpd#虚拟账号配置⽬录(这个还没创建我们下⾯再进⾏创建,先这样写)user_config_dir=/etc/vsftpd/user_conf#对vsftpd的⽤户使⽤pam认证(这个就是我们上⾯改的pam验证⽂件的⽂件名,这个默认已经有了,所以不⽤添加,没有的话再添加)pam_service_name=vsftpd#允许本地⽤户登录(这个默认的也有了,没有的话添加上)local_enable=YES然后保存退出接着创建虚拟账号配置⽬录mkdir /etc/vsftpd/user_conf进⼊⽂件夹cd /etc/vsftpd/user_conf/创建⽂件vim /etc/vsftpd/user_config/yvioo其中yvioo 就是我们上⾯ftp_user.txt中配置的ftp的账号的⽤户名(这⾥创建的⽂件名要对应上,如果有多个ftp⽤户就创建多个ftp⽂件对应的⽤户名⽂件,然后在⾥⾯设置权限即可)然后添加write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/data/www说明如下#是否允许登陆⽤户有写权限。
centos6.5配置FTP服务器

Centos 6.5 安装配置FTP服务器1、检查是否已经安装vsftprpm -qa | grep vsftpd出现vsftpd-..-** 说明已经安装安装vsftpd通过yum安装:yum -y install vsftpd通过rpm安装:rpm -ivh vsftpd-..-**.rpm测试是否安装成功:service vsftpd start设置开机启动:chkconfig vsftpd on关闭selinux修改配置文件:vim /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled.修改vsftpd配置文件vim /etc/vsftpd/vsftpd.conf找到并修改如下内容:anonymous_enable=NO (是否允许匿名)将底下三行#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保存退出添加FTP用户新增FTP用户”ftpuser”: useradd -d /home/ftp -s /sbin/nologin ftpuser-s:禁止登录SSH权限设置用户”ftpuser”的密码:passwd ftpuser (根据提示输入密码)编辑文件chroot_list:vi /etc/vsftpd/chroot_list内容为ftp用户名,每个用户占一行,如:peterjohn添加防火墙规则vi /etc/sysconfig/iptables1、开放21、20端口# iptables -A INPUT -p tcp --dport 20 -j ACCEPT# iptables -A INPUT -p tcp --dport 21 -j ACCEPT如果OUTPUT默认也是DROP,那么还需要添加一下规则。
centos6.5安装配置ftp

Centos 6.5 安装配置ftp服务1. 实验需求:1) 使用RPM包安装vsftpd服务2) 实现匿名用户访问,验证仅可以访问和下载,不可以上传3) 实现匿名用户可上传、下载、修改等完全权限(现实环境中这样的需求可能性很小)4) 实现把登陆的用户禁锢在自己的家目录中5) 实现限制某些用户的访问6) 实现虚拟用户的访问7) 实现针对不同的虚拟用户拥有不同的权限2.实验环境:Linux服务器系统版本:Red Hat Enterprise Linux 6.5 IP:192.168.20.3 Windows客户机系统版本:Windows 7 Ultimate x64 IP:192.168.20.2 vsftpd软件版本:vsftpd-2.2.23.实验步骤:基本安装操作A.挂载系统光盘并安装vsftpd这里我们使用rpm安装包安装vsftpd,安装包放在系统光盘中的Packages目录中,我们首先挂载系统光盘到系统的mnt目录下[root@localhost~]# mount /dev/sr0 /mnt到Packages目录下找到vsftpd服务的软件包并安装,安装完成。
[root@localhost~]# rpm -ivh/mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpmB.查看vsftpd配置文件[root@localhost ~]# grep -v "#"/etc/vsftpd/vsftpd.conf #过滤掉配置文件中#号的注释anonymous_enable=YES #已开启匿名用户的访问local_enable=YES #已开启本地账号的访问write_enable=YES #已开启写入的权限local_umask=022 #本地用户上传文件的权限是644,文件夹是755---------------------以下配置为服务默认,此实验中无需关dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES实现匿名用户访问,验证仅可以访问和下载,不可以上传根据vsftpd配置文件的默认配置,当vsftpd搭建好之后什么都不做就可以被匿名用户和本地用户访问了A.效果验证:[root@localhost~]# service vsftpd start #启动服务为vsftpd 启动vsftpd:[确定]测试之前,必须把防火墙和selinux关掉[root@localhost ~]# serviceiptablesstop我们在客户机上用文件夹的方式访问ftp://192.168.20.3现在来测试一下匿名用户的上传和下载权限注意:我们用匿名账号ftp登陆(无密码),查看现在所在的工作目录为/,这个/并不是服务器的根目录,而是匿名用户自己的家目录,ls查看发现里面有一个pub的文件夹家目录就是服务器上/var/ftp这个目录:我们验证匿名用户可不可以下载首先要在ftp这个目录下新建一个可供下载的文件[root@localhost ~]# cd/var/ftp #切换到ftp目录下[root@localhostftp]# echo "this is test ftp" > test.txt #新建一个test.txt 文件,内容为this is test ftp回到客户机上的cmd控制台C:\Users\Administrator>f:\ //切换到f盘,我们下载的文件就会下载到f盘用匿名账号ftp登陆,下载test.txt文件,打开f盘,看到已经下载的文件现在来验证匿名用户是否可以上传文件,我们把刚才下载都客户机上的test.txt 文件改名为tes.txt文件用于上传测试(避免重名)上传时被拒绝,所以我们知道匿名用户是只可以下载不能够上传的。
CentOS 8配置FTP

在CentOS 8 / RHEL 8上安装vsftpd(ftp服务器)一、FTP与VsFTP概述1.FTP:是File Transfer Protocol(文件传输协议)的缩写,是一种协议,可用于访问服务器上的文件。
它是最早的协议,使用户可以通过Internet下载文件。
使用FTP协议,用户可以轻松地在服务器上下载和上传文件。
2.Vsftpd:是Very Secure FTP守护程序的缩写,是一个安全FTP守护程序,它是FTP协议的升级。
它通过加密发送到服务器和来自服务器的流量来加强与FTP服务器的安全连接,这样做可以防止黑客对文件传输进行安全保护。
二、安装vsftpd# yum -y install vsftpd确认是否安装、安装的版本# rpm -q vdftpd要检索有关Vsftpd的更多详细信息,请在末尾附加-i标志,这将在屏幕上打印其他信息,例如体系结构,安装日期,许可证和签名等。
# rpm -q vdftpd -i安装了vsftpd后,我们需要运行它来促进对文件共享的访问。
要启动vsftpd服务,运行以下命令:# systemctl start vsftpd注册为服务,以便在系统启动时自动运行vsftpd服务# systemctl enable vsftpd --now要验证vsftpd在系统上的状态,请运行:# systemctl status vsftpd如果您在终端上看到绿色的“ active:(running)”指令,则说明vsftpd服务已启动并正在运行。
三、创建ftp用户及其目录接下来,我们将创建一个用于访问FTP服务器的用户。
在这种情况下,用户将是ftpuser,但可以随意为您的用户选择名称。
adduser ftpuserpasswd ftpuser使用FTP用户后,我们将继续创建FTP目录并分配以下权限和目录所有权。
# sudo mkdir -p /home/ftpuser/ftp_dir# sudo chmod -R 750 /home/ftpuser/ftp_dir# sudo chown -R ftpuser:/home/ftpuser/ftp_dir我们还需要将FTP用户添加到/etc/vsftpd/user_list文件中,以允许该用户访问vsftp服务器。
阿里云CentOS使用vsftp搭建FTP服务器(修正版)

阿里云CentOS使用vsftpd搭建FTP服务器1.检查更新:#yumcheck-update2.安装更新:#yum update前两条可省略3.检查是否安装vsftpd:#rpm -q vsftpd或者rpm –qa | grep vsftpd4.安装vsftpd:#yum install vsftpd –y5.vsftpd.ftpusers:位于/etc目录下.它指定了哪些用户账户不能访问FTP服务器,例如root等.er_list:位于/etc目录下.该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问.vsftpd.conf:位于/etc/vsftpd目录下.来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP 服务器的配置.6.设置开机启动vsftpd ftp服务#chkconfig vsftpd on启动vsftpd服务#service vsftpd start管理vsftpd相关命令:停止vsftpd: #service vsftpd stop重启vsftpd: #service vsftpd restart7.开通telnet服务(这一步经过验证可以省略。
)#rpm -q xinetd#yum -y install xinetd#chkconfig xinetd on#service xinetd start这样就开通了telnet了。
8.建立用户组和用户和相应的文件夹并更改权限,达到题目要求# groupadd group1# useradd -ggroup1 user1# useradd -ggroup1 user2# useradd -ggroup1admin增加一个新用户到主要用户组,-g的意思是将user1的主要用户组设为group1# passwd user1# passwd user2# passwd admin# mkdir /home/zc# chown :group1 /home/zcchown将指定文件的拥有者改为指定的用户或组# chmod 770 /home/zc8.linux下如何查看所有的用户和组信息/etc/group 文件是用户组的配置文件。
CentOS7搭建FTP服务器和安装FTP客户端

CentOS7搭建FTP服务器和安装FTP客户端 项⽬需要搭建⽂件FTP服务器,基于Centos7搭建FTP服务器,同样再CentOS另外⼀台服务器安装FTP客户端,测试服务端的⼤家情况;其他就不多说了,介绍下⼤家流程,FTP服务器端⽤的软件版本:version 3.0.2;FTP服务端分为主动模式和被动模式;主动模式,就是客户端提供端⼝,ftp服务端连接客户端提供的端⼝,实现数据推送;被动模式,ftp服务器提供端⼝给客户端,客户端主动连ftp服务器;1.1、安装vsftpdyum -y install vsftpd1.2、修改配置⽂件按照下⾯修改配置⽂件cd /etc/vsftpdvim vsftpd.conf配置⽂件:# 禁⽤匿名模式anonymous_enable=NO## When SELinux is enforcing check for SE bool ftp_home_dirlocal_enable=YES##具有写权限write_enable=YES##本地⽤户创建⽂件或⽬录的掩码local_umask=022# Activate directory messages - messages given to remote users when theydirmessage_enable=YES##当设定为YES时,使⽤者上传与下载⽇志都会被纪录起来。
记录⽇志与下⼀个xferlog_file设定选项有关xferlog_enable=YESxferlog_std_format=YESxferlog_file=/var/log/xferlog## Make sure PORT transfer connections originate from port 20 (ftp-data).connect_from_port_20=YES#chown_uploads=YES#chown_username=whoever#idle_session_timeout=600##data_connection_timeout=120## It is recommended that you define on your system a unique user which the# ftp server can use as a totally isolated and unprivileged user.#nopriv_user=ftpsecure## async_abor_enable=YES## ASCII mangling is a horrible feature of the protocol.ascii_upload_enable=NOascii_download_enable=NO## You may fully customise the login banner string:#ftpd_banner=Welcome to blah FTP service.## You may specify a file of disallowed anonymous e-mail addresses. Apparently# useful for combatting certain DoS attacks.#deny_email_enable=YES# (default follows)#banned_email_file=/etc/vsftpd/banned_emails## You may specify an explicit list of local users to chroot() to their home# directory. If chroot_local_user is YES, then this list becomes a list ofchroot_local_user=YESchroot_list_enable=YES# (default follows)-该⽂件记得要有相应⽤户读写权限chroot_list_file=/etc/vsftpd/chroot_list#chroot_list_file=/data/ftp/#ls_recurse_enable=YES##listen=NO## Make sure, that one of the listen options is commented !!#listen_ipv6=YESpam_service_name=vsftpduserlist_enable=NOtcp_wrappers=YESallow_writeable_chroot=YESlisten_port=8887#FTP访问⽬录local_root=/data/ftp/#被动模pasv_enable=YES#被动模式对外提供端⼝pasv_min_port=65400pasv_max_port=654101.3、新建⽤户和赋值权限#新建⽤户useradd ftptrm -s /sbin/nologin -d /data/ftp#修改密码passwd ftptrm#修改权限 chown -R ftptrm /data/ftpchmod o+w ftptrm /data/ftp#修改⽤户echo 'ftptrm' >> /etc/vsftpd/user_list1.4、防⽕墙关闭(对外提供端⼝8887、65400-65410systemctl stop firewalldfirewall-cmd --permanent --zone=public --add-port=8887/tcpfirewall-cmd --permanent --zone=public --add-port=65400-65410/tcpfirewall-cmd --reload1.5、启动服务#开机启动systemctl enable vsftpd.service#重启服务systemctl restart vsftpd.service#启动systemctl start vsftpd.service#停⽌systemctl stop vsftpd.service#状态systemctl status vsftpd.serviceftp安装yum -y install ftp客户端连接命令#连接 IP 端⼝ftp 192.168.1.1008887#输⼊名称ftp>name#密码ftp>password#进⼊⽬录ftp>cd /data/ftp#下载本地ftp>get test.txt#⽂件上传ftp>put myfile /data/ftp/530 Permission denied。
centos FTP配置详解

一、基本概念1、FTP服务器端的rpm包:vsftpd-2.0.5-12.e15.i386.rpm2、FTP的主要配置文件:/etc/vsftpd/vsftpd.conf:主配置文件/etc/vsftpd/ftpusers:用于保存不允许进行FTP登录的本地用户帐号,可提高系统的安全性,如果不想让某个用户登录ftp服务器,将该用户添加到该文件中即可/etc/vsftpd/user_list:该文件具有对vsftpd服务器更灵活的用户访问控制,使用user_list文件需要在主配置文件中进行设置/etc/vsftpd/chroot_list:对列表中的本地用户启用禁锢在宿主目录中的文件3、FTP服务中分为服务器和客户机两个角色4、FTP服务器的传输模式主动模式:由服务器主动连接客户机建立数据链路被动模式:FTP服务器等待客户机建立数据链路5、FTP服务器使用的端口21端口用于与客户机建立命令链路20端口用于在主动模式下服务器向客户机建立数据链路6、数据传输分ascII 和二进制两种方式(二进制快)7、FTP服务的启动脚本:/etc/init.d/vsftpd8、vsftpd服务需要设置在运行级别3和5自动启动:chkconfig --level 3 5 vsftpd on二、FTP的客户端1、ftp命令是最基本的FTP客户端软件在Linux和Windows系统中都默认提供ftp命令ftp命令的交互环境中使用命令对FTP服务器进行操作ftp中很多命令与Bash中的命令类似binary设置传输二进制文件,ascii设置传输文本文件get命令用于下载文件,put命令用于上传文件mget和mput用于一次下载或上传多个文件bye命令可退出ftp命令交互环境Sendport 主动模式passive 被动模式2、常用的ftp客户端软件CuteFTP是Windows下流行的商业软件Filezilla是Windows下运行的开源软件gftp是Linux中GNOME桌面环境中运行的FTP客户端软件三、vsftpd支持的用户类型匿名用户:使用公共的用户帐号进行登录,通常用于提供公共文件下载服务,登录名:anonymous 或者ftp,密码随意,所有匿名用户都登录到相同的目录/var/ftp本地用户:使用Linux系统用户帐号登录,每个用户都使用各自的宿主目录(用户可以切换到其他目录,很不安全,需要将这些用户禁锢在宿主目录中 )虚拟用户 :使用独立的文件保存虚拟帐号,安全性较好,可替代本地用户(用tcpdump –i eth0 –x dst ipaddress and dst port 21可以获取用户账号和密码,因此有必要使用虚拟用户)四、FTP 的配置实例1-匿名登录1、安装vsftpd 服务:2、配置vsftpd.conf ,以下是配置文件中的主要内容anonymous_enable=YES#允许匿名登录 (默认开启)3、开启vsftpd 服务:4、客户端登录五、FTP 的配置实例2-本地用户登录1、安装ftp 服务,同上2、vi /etc/vsftpd/vsftpd.conf local_enable=YES #允许本地用户登录(默认开启)3、重启vsftpd 服务 service vsftpdrestart登录到ftp 服务器192.168.0.1输入匿名账号输入匿名账号对应的密码,可以随便写,也可以不写查看当前的目录,匿名账号只能看到“/”,真实目录为ftp 服务器的/var/ftp 查看共享的文件3、客户端登录测试登录到ftp服务器192.168.0.1输入ftp服务器的一个本地账号名输入相应的密码查看当前的目录,可以看到本地用户所在的真实目录可以看到如果不做任何设置可以随意切换目录,有很大的安全隐患4、将本地用户禁锢在宿主目录中vi /etc/vsftpd/vsftpd.confchroot_list_enable=YES #对列表中的本地用户启用禁锢功能chroot_list_file=/etc/vsftpd/chroot_list #声明列表文件所在的目录,名称可以随便写或者chroot_local_user=YES #对所用的本地用户启用禁锢功能5、配置列表文件vi /etc/vsftpd/chroot_list #一定要和上面声明的列表文件对应上wt #输入需要采取禁锢策略的本地用户,多个用户需要换行输入6、重新启动vsftpd服务service vsftpd restart7、客户端登录ftp服务器验证六、FTP 的配置实例3-虚拟用户登录1、 建立虚拟用户口令库文件vi /etc/vsftpd/virtualusers.txt #下面的内容奇数行为用户名,偶数行为密码 mike 111 tom 2222、 安装一个rpm 包(centos 光盘自带),否则不能使用db_load 命令3、生成vsftpd 的认证文件4、建立虚拟用户需要的pam 配置文件(如果使用系统自带的pam 文件/etc/pam.d/vsftpd ,一定要将下面的内容添加在配置文件的最上面,否则不能生效) vi/etc/pam.d/vsftpd.vu输入ftp 服务器的一个本地账号名(该用户在ftp 服务器中的/etc/vsftpd/chroot_list 中)登录到ftp 服务器192.168.0.1查看当前的目录,显示为“/”输入cd..后再次查看当前的目录,依然显示为“/”此处不能写成vsftpd_login.db,否则系统会认为数据库文件名称为vsftpd_login.db.db务必要将vsftpd_login.db 的权限设为对root 可读可写5、建立所用虚拟用户账号使用的系统用户账号,并设置该账号宿主目录的权限(所有的虚拟用户必须寄宿在一个系统用户下,因此此处创建一个系统用户virtual,并将该用户的宿主目录设为/home/ftpside/)6、在vsftpd.conf中添加虚拟用户的配置内容vi /etc/vsftpd/vsftpd.conf (添加如下条目)guest_enable=YES #开启虚拟用户登录的功能guest_username=virtual #设置虚拟用户使用的用户名为步骤4中创建的virtualpam_servcie_name=vsftpd.vu #设置pam配置文件的名称为步骤3中创建的vsftpd.vu#pam_service_name=vsftpd #将系统原有的pam认证文件注释掉7、重启服务service vsftpd restart8、客户机登录验证9、对虚拟用户设置不同的权限1)在主配置文件/etc/vsftpd/vsftpd.conf中指定虚拟用户存放配置文件的的路径vi /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/vsftpd_user_conf2)建立虚拟用户存放配置文件的目录(必须和上面配置文件中指定的路径一致)mkdir /etc/vsftpd/vsftpd_user_conf3)为每个虚拟用户建立单独的配置文件(名称必须和虚拟用户名相同)touch /etc/vsftpd/vsftpd_user_conf/miketouch /etc/vsftpd/vsftpd_user_conf/tom4)为每个虚拟用户设置权限(这里为了测试效果,仅设置mike)vi /etc/vsftpd/vsftpd_user_conf/mikeanon_world_readable_only=NO #用户可以浏览和下载文件anon_upload_enable=YES #用户可以上传文件anon_mkdir_write_enable=YES #用户可以添加删除目录anon_other_write_enable=YES #用户可以更改文件名称和删除文件5)客户端用mike登录测试输入虚拟用户名输入虚拟用户mike对应的密码111 查看当前用户的目录,显示为“/”,OK可以浏览可以下载文件可以上传文件可以更改文件名6)客户端用tom登录测试虽然可以成功登录,却什么也干不了,连ls都不可以七、vsftpd.conf的主要功能选项anonymous_enable=YES #允许匿名登录(默认开启)local_enable=YES #允许本地用户登录(默认开启)write_enable=YES #开放对本地用户的写权限local_umask=022 #本地用户的文件生成掩码dirmessage_enable=YES #当切换的ftp服务器的某个目录时,将显示该目录下.message隐件文件的内容xferlog_enable=YES #启用服务器的上传和下载日志connect_from_port_20=YES #启用FTP数据端口的连接请求xferlog_std_format=YES #使用标准的ftpd xferlog日志格式pam_service_name=vsftpd #设置pam认证服务的配置文件名称userlist_enable=YES #检查userlist文件中指定的用户是否可以访问vsftpd服务器listen=YES #将FTP服务器设为独立启动状态tcp_wrappers=YES #FTP 服务器将使用tcp_wrappers作为主机访问控制方式max_clents=100 #最大客户端连接数,0表示不限制max_per_ip=5 #同一个ip地址允许的最大客户端连接数,0表示不限制Accept_timeout=60(秒)#将客户端空闲1分钟后断Connect_timeout=60(秒)#中断1分钟后又重新连接local_max_rate=500000 #本地用户的最大传输效率,单位是B/s,0表示不限制anon_max_rate=200000 #匿名用户的最大传输效率,单位是B/s,0表示不限制idle_session_timeout=600 #设定空闲连接超时时间(秒)data_connection_timeout=120 #设定单次连续传输最大时间(秒)Pasv_min_port=50000 #将客户端的数据连接端口改在50000—60000之间Pasv_max_port=60000Anon_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 #用户连接后欢迎信息使用的是此文件中的相关信息)。
CentOS VSFTPD安装时RPM软件包安装的方法

CentOS VSFTPD安装时RPM软件包安装的方法在向大家详细介绍CentOS VSFTPD安装之前,首先让大家了解下CentOS VSFTPD服务器,然后全面介绍CentOS VSFTPD安装,CentOS Linux和与之对应版本号的RHEL发行版具有软件包级别的二进制兼容性,即某个RPM软件包如果可以安装运行在RHEL产品中,就可以正常地安装运行在对应版本的CentOS Linux中。
希望对大家有用。
1.此次为了测试了解一下,CentOS VSFTPD,采用RPM包安装方式首先rpm -qa | grep CentOS VSFTPD查看有无安装,若没有,则要安装,我采用的是yumyum install vsftpd见下:[root@ftp sbin]# yum install vsftpd[root@ftp sbin]# service vsftpd statusvsftpd is stopped[root@ftp sbin]# service vsftpd startStarting vsftpd for vsftpd: [ OK ][root@ftp sbin]#2.设置每次开机时自动运行及手工启动它:chkconfig vsftpd onservice vsftpd startnetstat -tl 可以查看ftp端口是否在侦听了!相关配置文件:/etc/vsftpd/vsftpd.conf里面;3.CentOS VSFTPD至此已经可以FTP已经可以正常运行了,4.FTP配置参考以下设置:初级测试篇:(注:匿名用户使用ftp这个系统用户,无需密码)a.匿名服务器的连接(独立的服务器)在/etc/vsftp/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=vsftp (验证方式)*Listen=yes (独立的CentOS VSFTPD服务器)*功能:只能连接FTP服务器,不能上传和下载注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项b.开启匿名FTP服务器上传权限在配置文件中添加以下的信息即可:Anon_upload_enable=yes (开放上传权限)Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)Write_enable=yes (开放本地用户写的权限)Anon_other_write_enable=yes (匿名帐号可以有删除的权限)c.开启匿名服务器下载的权限在配置文件中添加如下信息即可:Anon_world_readable_only=no注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限(R)读-----下载(W)写----上传(X)执行----如果不开FTP的目录都进不去d.普通用户FTP服务器的连接(独立服务器)在配置文件中添加如下信息即可:Local_enble=yes (本地帐户能够登陆)Write_enable=no (本地帐户登陆后无权删除和修改文件)功能:可以用本地帐户登陆CentOS VSFTPD服务器,有下载上传的权限注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载e.用户登陆限制进其它的目录,只能进它的主目录设置所有的本地用户都执行chrootChroot_local_user=yes (本地所有帐户都只能在自家目录)设置指定用户执行chrootChroot_list_enable=yes (文件中的名单可以调用)Chroot_list_file=/任意指定的路径/vsftpd.chroot_list注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可f.限制本地用户访问FTPUserlist_enable=yes (用userlistlai 来限制用户访问)Userlist_deny=no (名单中的人不允许访问)Userlist_file=/指定文件存放的路径/ (文件放置的路径)注:开启userlist_enable=yes匿名帐号不能登陆g.安全选项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=50000 (将客户端的数据连接端口改在Pasv_max_port=60000 50000—60000之间)Max_clients=200 (FTP的最大连接数)Max_per_ip=4 (每IP的最大连接数)Listen_port=5555 (从5555端口进行数据连接)h.查看谁登陆了FTP,并杀死它的进程ps –xf |grep ftpkill 进程号5. 高阶部分测试篇:配置本地组访问的FTP首先创建用户组test和FTP的主目录groupadd testmkdir /tmp/test然后创建用户useradd -G test –d /tmp/test –M usr1注:G:用户所在的组d:表示创建用户的自己目录的位置给予指定M:不建立默认的自家目录,也就是说在/home下没有自己的目录useradd –G test –d /tmp/test –M usr2接着改变文件夹的属主和权限chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有这个实验的目的就是usr1有上传、删除和下载的权限而usr2只有下载的权限没有上传和删除的权限当然啦大家别忘了我们的主配置文件CentOS VSFTPD.conf修改用户密码或添加用户密码以用户name为例,添加用户:useradd name,设置密码:passwd name,然后根据提示,输入两次密码即可。
CentOs7开启ftp命令

CentOs7开启ftp命令安装vsftp:以管理员(root)⾝份执⾏以下命令:yum install vsftpd2、配置vsftpd服务器:默认的配置⽂件是/etc/vsftpd/vsftpd.conf,你可以⽤⽂本编辑器打开。
vi /etc/vsftpd/vsftpd.conf3、添加ftp⽤户:下⾯是添加ftptest⽤户,设置根⽬录为/home/wwwroot/ftptest,禁⽌此⽤户登录SSH的权限,并限制其访问其它⽬录。
①、修改/etc/vsftpd/vsftpd.confchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list②、增加⽤户ftptest,指向⽬录/home/wwwroot/ftptest,禁⽌登录SSH权限。
useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest③、设置⽤户⼝令passwd ftpuser④、编辑⽂件chroot_listvi /etc/vsftpd/chroot_list内容为ftp⽤户名,每个⽤户占⼀⾏,如:Wenvki⑤、启动vsftp服务service vsftpd start4、配置防⽕墙打开/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 restart5、管理vsftpd服务的相关命令:停⽌vsftpd服务: service vsftpd stop重启vsftpd服务: service vsftpd restart设置开机启动vsftpd服务:chkconfig --level 2345 vsftpd on最后,使⽤⽤户ftptest登录VSFTP服务测试的使⽤出现了个错误提⽰:500 OOPS: cannot change directory:/home/wwwroot/ftptest。
CENTOS-ftp详解

LINUX (Centos版本) FTP服务器详解这篇文章,写的很好。
给了我很大的收获。
我,最近利用空闲时间,逐字看了这篇文章,用心实验过。
发现其中有点小的问题或错误。
现已经更正,我想让其完美展现给读者。
也为了珍藏。
对大家推荐很好使用的CentOS FTP系统,想让大家对CentOS FTP系统有所了解,然后对CentOS FTP系统全面讲解介绍,希望对大家有用。
1、vsFTPd,目前常用CentOS FTP服务器套件;vsFTPd是一款在Linux发行版中最受推崇的CentOS FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握,也然最主要的是会用;目前在开源操作系统中常用的FTPD套件主要有ProFTPD、PureFTPd和wuftpd等;至于哪个CentOS FTP服务器套件更好,哪个是你最熟悉的,哪个就是最好的;2、CentOS FTP用户管理解说;CentOS FTP服务器对用户的管理,在默认的情况下是根据 /etc/passwd及/etc/group 来进行的,所以我们一定要了解Linux系统用户和用户组的管理,用户和用户组的管理是一切应用的的基础,有的弟兄不想去了解基础的东西,就想一步成架好各种服务器,事实证明这种学习方法是最不明智的;虽然在您可能在几分钟启动了CentOS FTP服务器,但遇到问题时,您不一定能知道是哪里出错;所以基础还是极为重要的;推荐文章:《Linux 用户(user)和用户组(group)管理概述》2.1、匿名CentOS FTP用户和用户组的理解;当我们访问各大CentOS FTP上访问时,可能我们不去想我们以什么身份登录的,如果他的FTP允许匿名登录的话;比如我们在浏览器上打入;ftp://或ftp://ftp:ftp@我们会发现上面的两行最终都能访问,而且显示的结果也完全一样,最终都跳到ftp:// 地址;那我们访问这个CentOS FTP时,是不是有用户和密码呢?是的,也是需要在的,只是在服务器端允许匿名访问,而匿名访问的用户名和密码都是ftp,只是我们因为匿名访问,没有感觉到他有用户名和密码罢了。
centos8系统ftp服务器安装及被动模式配置详细教程

centos8系统ftp服务器安装及被动模式配置详细教程⽬录1、了解基础知识2、确认系统环境3、安装ftp指令【⾮必须】4、安装VSFTPD5、设置本地⽤户6、配置vsftpd的conf⽂件7、配置系统相关软件的配合8、测试可能出现的错误这是⼀篇新⼿向的ftp服务器安装。
1、了解基础知识FTP:⽂件传输协议(File Transfer Protocol,FTP)。
FTP是历史上最悠久的⽂件传输协议之⼀,在很多软件体系中都有应⽤。
⽐如说wordpress后台更新就需要FTP服务。
FTP使⽤ TCP 协议传输⽽不是 UDP。
FTP使⽤两类端⼝:控制端⼝21,传输端⼝。
FTP传输有两类模式,被动模式(PASV)和主动模式(PORT)。
在传输的过程中,⽆论是被动模式,还是主动模式,都是【客户端】和【服务器端的21端⼝】交换⽤户名密码等相关信息并确认使⽤什么模式传输。
如果是主动模式,客户端和服务器端在【服务器端的20端⼝】交换数据。
如果是被动模式,将有服务器端确认⼀个或⼏个⾃⾝的随机端⼝,客户端需要与服务器端的这个端⼝进⾏数据交换。
VSFTPD是⼴泛使⽤的FTP服务器软件。
FTP命令是客户端的操作命令。
还有⼀种SFTP。
SFTP和FTP只是名字类似,不可简单地理解问安全(safe)的FTP。
他是ssh协议提供的⽂件传输⽅式,很多云服务器⾃带ssh连接便于远程操作,所以即使你没有成功配置FTP,可能也是可以使⽤SFTP传输的。
SFTP只⽤22端⼝。
2、确认系统环境个⼈配置FTP服务器使⽤的是阿⾥云的ECS服务器。
虚拟主机可能不⽀持部分配置,但是很多虚拟主机都⾃带FTP服务。
系统是Alibaba Cloud Linux 3.2104 64位,兼容Centos8的指令。
如果读者使⽤的是其他版本的系统,需要⾃⾏确认部分指令是否能⽤。
使⽤的软件包管理器是DNF。
这是YUM的替代版本,兼容⼤多数YUM的指令。
软件包管理器可以以默认路径让你⽅便地安装、更新系统的软件,减少因为安装路径的设置带来的问题,建议初学者使⽤。
Centos7搭建FTP服务详细过程

Centos7搭建FTP服务详细过程一、安装VSFTP1.为了方便后续操作,现将用户切换到root用户 su -2.查看是否已经安装vsftpd方法一:[root@localhost ~]#rpm -q vsftpdvsftpd-3.0.2-22.el7.x86_64方法二:[root@localhost ~]# vsftpd -vyum安装vsftpd[root@localhost ~]# yum -y install vsftpd3.安装完成后,查看位置[root@localhost ~]# whereis vsftpdvsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz 4.直接启动VSFTP服务[root@localhost ~]# systemctl start vsftpd.service[root@localhost ~]#5.查看是否启动成功[root@localhost ~]# netstat -npal|grep vsftpdtcp6 0 0 :::21 :::* LISTEN 4432/vsftpd可以看到服务已经启动,端口为21,pid为4432关闭防火墙6.关闭SELinux限制,添加防火墙白名单①设置关闭SELinux对ftp的限制[root@localhost ~]# getsebool -a | grep ftpftp_home_dir --> onftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> onftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offsftpd_anon_write --> offsftpd_enable_homedirs --> offsftpd_full_access --> offsftpd_write_ssh_home --> offtftp_anon_write --> offtftp_home_dir --> off[root@localhost ~]# setsebool -P ftpd_full_access on②将ftp加入防火墙白名单firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload查看防火墙状态:firewall-cmd --list-all二、配置修改1.修改配置文件[root@localhost ~]# cd /etc/vsftpd/[root@localhost vsftpd]# vim vsftpd.conf不允许匿名访问(不登录默认访问某目录/var/ftp)anonymous_enable=NO允许ascii文件上传和下载ascii_upload_enable=YESascii_download_enable=YES将用户限制在为其配置的主目录chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list三、匿名登录匿名登陆如果设置anonymous_enable=NO表示可以匿名登陆,保存后重新启动vsftp服务systemctl restart vsftpd.service),即可以匿名登陆ftp服务(ftp ipaddr),密码是空,对应目录是/var/ftp,如果你在配置里面配置了anonymous_enable=NO,匿名就无法登录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.查看有没有安装vsftpd:rpm -qa | grep vsftpd2.yum安装vsftpd:yum install vsftpd3.rpm安装vsftpd:可以从下面两个地方获得最新的vsftpd的RPM包https:///或者/安装命令:rpm -Uvh vsftpd-1.1.3-8.i386.rpm4.设置每次开机时自动运行及手工启动它:chkconfig vsftpd onservice vsftpd startnetstat -tl 可以查看ftp端口是否在侦听了!5.为vsftpd添加ftp账号用useradd建立的用户,如果后面不加参数,建立的用户为普通用户,有系统登陆权限,所以要在useradd命令后面加上参数,为虚拟主机添加不可以登录系统的ftp专用账号,命令如下:# useradd –s /sbin/nologin –d /var/www -g ftp ftpadmin如果显示如下信息:Creating mailbox file: File existsuseradd: warning: the home directory already exists.Not copying any file from skel directory into it.表示用户家目录已经存在(/var/www),不可再新建此目录,并非添加用户失败,接下来给用户设置密码,否则此账号不能使用,命令如下:# passwd ftpadmin这样就为linux系统添加用户ftpadmin,用户目录指定为/var/www,属于ftp 用户组,且此用户不能登陆系统。
注:-s /sbin/nologin是让其不能登陆系统-d 是指定用户目录为/var/www-g ftp 把用户加入到ftp组中修改/var/www目录属性:$ chmod -R 777 /var/www递归地给此目录下所有文件和子目录的读、写、执行权限$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组6.配置etc/vsftpd/vsftpd.conf文件:nano -w /etc/vsftpd/vsftpd.conf注:用nano编辑配置文件要加参数“-w”,用于取消自动换行,否则有可能会出错。
配置文件范例:# Example config file /etc/vsftpd/vsftpd.conf## The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable.# Please see vsftpd.conf.5 for all compiled in defaults.## READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities.## Allow anonymous FTP? (Beware - allowed by default if you comment this out).anonymous_enable=NO## Uncomment this to allow local users to log in.local_enable=YES## Uncomment this to enable any form of FTP write command.write_enable=YES## Default umask for local users is 077. You may wish to change this to 022,# if your users expect that (022 is used by most other ftpd's)local_umask=022## Uncomment this to allow the anonymous FTP user to upload files. This only# has an effect if the above global write enable is activated. Also, you will# obviously need to create a directory writable by the FTP user.#anon_upload_enable=YES## Uncomment this if you want the anonymous FTP user to be able to create # new directories.#anon_mkdir_write_enable=YES## Activate directory messages - messages given to remote users when they # go into a certain directory.dirmessage_enable=YES## Activate logging of uploads/downloads.xferlog_enable=YES## Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES## If you want, you can arrange for uploaded anonymous files to be owned by# a different user. Note! Using "root" for uploaded files is not# recommended!#chown_uploads=YES#chown_username=whoever## You may override where the log file goes if you like. The default is shown# below.#xferlog_file=/var/log/vsftpd.log## If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES## You may change the default value for timing out an idle session.#idle_session_timeout=600## You may change the default value for timing out a data connection. #data_connection_timeout=120## It is recommended that you define on your system a unique user which the# ftp server can use as a totally isolated and unprivileged user.#nopriv_user=ftpsecure## Enable this and the server will recognise asynchronous ABOR requests. Not# recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients.#async_abor_enable=YES## By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII# mangling on files when in ASCII mode.# Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the# raw file.# ASCII mangling is a horrible feature of the protocol.#ascii_upload_enable=YES#ascii_download_enable=YES## You may fully customise the login banner string:#ftpd_banner=Welcome to blah FTP service.## You may specify a file of disallowed anonymous e-mail addresses. Apparently# useful for combatting certain DoS attacks.#deny_email_enable=YES# (default follows)#banned_email_file=/etc/vsftpd/banned_emails## You may specify an explicit list of local users to chroot() to their home# directory. If chroot_local_user is YES, then this list becomes a list of# users to NOT chroot().#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpd/chroot_list## You may activate the "-R" option to the builtin ls. This is disabled by# default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume# the presence of the "-R" option, so there is a strong case for enabling it.#ls_recurse_enable=YES## When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive.listen=YES## This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6# sockets, you must run two copies of vsftpd whith two configuration files. # Make sure, that one of the listen options is commented !!#listen_ipv6=YESpam_service_name=vsftpdchroot_local_user=YESuserlist_enable=YEStcp_wrappers=YES注:此配置文件仅在默认配置文件基础上修改为如下两项:anonymous_enable=NO #禁止匿名登录chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中7.查看谁登陆了FTP,并杀死它的进程ps –xf |grep ftpkill 进程号8.使vsftp下root登录:1)编辑两个FTP配置文件:/etc/vsftpd.ftpusers和/etc/er_list,将root那一行删掉或#注释掉;2)重启vsftpd服务:service vsftpd restart设置虚拟目录# cd /var/ftp# mkdir v1# mount --bind /sourcedir /var/ftp/v1# vi /etc/fstab在最后增加一行:/sourcedir /var/ftp/v1 none ro,bind 0 0 # /etc/init.d/vsftpd restartCentOS配制FTP服务器,并且能用root权限登录CentOS2009-05-26 16:30:23阅读118评论0 字号:大中小订阅步骤如下:1、运行yum install vsftpd命令具体的细节如下:(如果无法更新,你先配置能访问互联网,我有文档叫CentOS 在VMware下,如何联网到Internet的解决办法可以解决无法上网的问题)[root@localhost ~]# yum install vsftpdSetting up Install ProcessParsing package install argumentsResolving Dependencies--> Running transaction check---> Package vsftpd.i386 0:2.0.5-12.el5 set to be updatedfilelists.xml.gz 100% |=========================| 648 kB 02:46/pub/centos/5.2/os/i386/repodata/filelists.xml.gz: [Errno 4] Socket Error: timed out Trying other mirror.filelists.xml.gz 100% |=========================| 2.8 MB 00:21filelists.xml.gz 100% |=========================| 1.1 MB 00:12filelists.xml.gz 100% |=========================| 132 kB 00:01filelists.xml.gz 100% |=========================| 150 B 00:00--> Finished Dependency ResolutionDependencies Resolved============================================================================= Package Arch Version Repository Size============================================================================= Installing:vsftpd i386 2.0.5-12.el5 base 137 kTransaction Summary============================================================================= Install 1 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 137 kIs this ok [y/N]: yDownloading Packages:(1/1): vsftpd-2.0.5-12.el 100% |=========================| 137 kB 00:01warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@>" from /centos/RPM-GPG-KEY-CentOS-5Is this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning TransactionInstalling: vsftpd ######################### [1/1]Installed: vsftpd.i386 0:2.0.5-12.el5Complete![root@localhost ~]#2、将/etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉# root3、执行以下命令# setsebool -P ftpd_disable_trans=1修改/etc/vsftpd/vsftpd.conf,在最后一行处添加local_root=/4、service vsftpd restartftp服务器就可以使用了。