×

linux搭建ftp服务器

如何在linux下开启FTP服务?如何搭建ftp服务器 linux

admin admin 发表于2022-07-14 02:06:56 浏览90 评论0

抢沙发发表评论

如何在linux下开启FTP服务

可以通过设置VSFTPD服务来实现Linux下的FTP服务。以CentOS为例,首先检查系统中是否安装了VSFTPD。您可以检查命令RPM -QA |安装了GREP VSFTPD.YUM-Y安装VSFTPD。安装后,首先创建FTP用户(例如FTP_TEST),该命令如下:

|

可以通过设置VSFTPD服务来实现Linux下的FTP服务。以CentOS为例,首先检查系统中是否安装了VSFTPD。您可以检查命令RPM -QA |安装了GREP VSFTPD.YUM-Y安装VSFTPD。安装后,首先创建FTP用户(例如FTP_TEST),该命令如下:

useradd -s /sbin/nologin -d /home/ftp_test ftp_test

尽量不要尽可能多地选择根目录。这是/home/ftp_test,并且不创建ftp_test的目录。否则,权限会出现问题。

可以看出,对于FTP_TEST用户,权限是可读,书面和可执行文件的。其他用户和其他用户没有权限。现在为ftp_test创建密码:

passwd ftp_test

执行后输入密码后,设置了密码以设置密码

然后vsftpd配置文件,位置为:vim /etc/vsftpd/vsftpd.conf

查找Anonymous_enable的配置项,默认值是肯定的,将其修改为否,表明不允许匿名用户登录

现在,直接保存配置文件,执行SystemCtl启动VSFTPD.Service以启动VSFTP服务,然后您可以使用命令:SystemCtl状态VSFTPD.Service来查看FTP服务的运行状态。现在,您可以使用FTP客户端进行连接。异端-linux搭建ftp服务器

现在,部署了基本的FTP服务,客户端可以正常上传,下载和修改文件;但是这样的问题是所有目录都暴露于客户端。尽管客户端不能随意修改文件的其余部分,但是由于目录是由于目录所致,因此可以看到总会有一些风险,因此您只需要在其自己的主目录下配置FTP用户,并且不能查看任何其他目录。它也开放以打开配置文件/etc/vsftpd/vsftpd.conf,查找chroot_local_user = yes configuration,默认值是注释。在此处删除注释,表明仅允许用户进入目录。如果您只保存此配置,则使用FTP连接到客户端将返回500 oops:vsftpd:拒绝在没有root ins chroot()中的root Inside()中运行的情况,现在我们使用的VSFTPD版本为3.0.2属于相对较新的版本。它是为了安全性性的。一些限制,如果您想通过CHMOD A-W/HOME/FTP_TES删除目录权限,则方法应该是为配置允许允许_WRITABLE_CHROOT = YES添加一行,以指示允许HOME DIRECTORY的权限。特定配置如下:-linux搭建ftp服务器

配置这两个项目后,保存出口,然后执行SystemCtl重新启动VSFTPD.Service以重新启动VSFTPD服务。

现在,您可以看到上述路径是一个/对于FTP用户,它是根目录。它只能在此目录中操作,但不能跳出此目录

以上是VSFTPD服务的基本施工过程。实际使用时,您可以分配多个用户

如何搭建ftp服务器 linux


Red Hat Linux下架设FTP服务器

FTP,即File Transfer Protocol,文件传输协议。它是目前Internet上最流行的数据传送方法之一。利用FTP协议,我们可以在FTP服务器和FTP客户端之间进行双向数据传输,既可以把数据从FTP服务器上下载到本地客户端,又可以从客户端上传数据到远程FTP服务器。

1.安装vsftpd服务器

vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。

如果选择完全安装RedHat Linux 9.0,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:
rpm -qa | grep vsftpd

如果结果显示为“vsftpd-1.1.3-8”,则说明系统已经安装vsftpd服务器。如果安装RedHat Linux 9.0时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单→系统设置→添加删除应用程序”菜单项,在出现的“软件包管理”对话框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。

另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安装包,然后在终端命令窗口运行以下命令即可开始安装进程:
rpm -ivh vsftpd-1.1.3-8.i386.rpm

2.启动/重新启动/停止vsftpd服务

从Red Hat Linux9.0开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:
/etc/rc.d/init.d/vsftpd start

重新启动vsftpd服务:
/etc/rc.d/init.d/ vsftpd restart

关闭vsftpd服务:
/etc/rc.d/init.d/ vsftpd stop

确认vsftpd服务已经启动后,我们可以在任意一台Windows主机的DOS命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:
Microsoft Windows XP
(C) 版权所有 1985-2001 Microsoft Corp.
F:\Peter》;ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3) //vsftpd的响应请求
User (FTPAddress:(none)): ftp //输入用户账号ftp
331 Please specify thepassword.
Password: //输入密码ftp
230 Login successful. Havefun.
ftp》;

3.vsftpd的配置

在Red HatLinux 9.0里的vsftpd共有3个配置文件,它们分别是:
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

(1)用户登录控制
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。

(2)用户权限控制
write_enable=YES,开启全局上传权限。
local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。
anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。
anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。
chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!
chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。
async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!
ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。
注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。
这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。

(3)用户连接和超时选项
idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。

(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。
xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。
-linux搭建ftp服务器

怎么用linux搭建ftp服务

一般而言,连接计算机的人的第一个需求是获取信息,而文件传输是非常重要的方法之一。由模型和体系结构物理设备(即使在个人计算机上)组成,也可能配备不同的操作系统,例如Linux,Windows,Unix,DOS等因此,有一个统一的FTP文件传输协议(文件传输协议),该协议允许用户在Internet上上传和下载文件。许多学生只知道FTP协议在他的大学期间使用21端口号,但实际上,FTP文件传输协议默认情况下具有两个两个末端口号。执行的相关FTP命令和参数,FTP服务器通常在内部网络中使用,该网络具有易于构建和易于管理的特征。您还可以使用FTP客户端工具轻松实现文件的多点下载和断点。准备-linux搭建ftp服务器

FTP服务器是支持FTP传输协议的主机。像大多数服务程序一样,如果要完成文件传输,则需要与FTP服务器和客户端合作。用户可以通过客户端(FTP服务器)向FTP服务器发送指令参数,从而将相应的操作基于接收到的命令,例如显示执行结果或将文件传输到客户端主机。FTP协议的传输具有两种不同的模式。主动模式是允许FTP服务器积极地向客户端启动链接请求。被动模式是允许FTP服务器等待客户端的链接请求。默认情况下,被动模式,因为我们已经在第8章的防火墙课程中进行了研究它。-linux搭建ftp服务器

VSFTPD是在Linux操作系统上运行的FTP服务器程序。顾名思义,非常安全性性的FTP守护程序是一个非常安全性性的FTP传输程序。VSFTPD服务程序不仅是完全开放和免费的,而且还具有很高的安全性性性,传输速率,支持,支持,支持虚拟用户验证功能等,其他FTP服务器程序没有特征。YUM软件仓库之后可以安装VSFTPD服务程序:-linux搭建ftp服务器

#www.linuxprobe.com
# yum install vsftpd -y
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分输出信息………………
================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 vsftpd x86_64 3.0.2-9.el7 rhel 166 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 166 k
Installed size: 343 k
Is this ok : y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : vsftpd-3.0.2-9.el7.x86_64 1/1 
 Verifying : vsftpd-3.0.2-9.el7.x86_64 1/1 
Installed:
 vsftpd.x86_64 0:3.0.2-9.el7 
Complete!

禁止使用IPTABLES防火墙管理工具中FTP传输协议的默认值。因此,我们需要在VSFTPD服务程序的正式配置之前清除Iptables防火墙的默认策略,并保存当前清洁的防火墙策略状态:

# iptables -F
# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:

VSFTPD服务程序(/etc/vsftpd/vsftpd.conf)的主要配置文件总计约为123行,但其中大多数是从#(well)开始的注释信息。请勿包括#(好),即过滤所有注释,以便重做-Fabric符号可以写入原始主配置文件名:-linux搭建ftp服务器

# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
# grep -v “#“ /etc/vsftpd/vsftpd.conf_bak 》 /etc/vsftpd/vsftpd.conf
# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

老师刘 ye整理了同学的VSFTPD服务程序的主要配置文件中常用的参数和函数。您只需要立即浏览即可。