如何借助vsftpd在Linux上构建安全的FTP服务
发布网友
发布时间:2022-04-08 23:11
我来回答
共1个回答
热心网友
时间:2022-04-09 00:40
vsftpd的安装过程
vsftpd 守护程序的安装相当简单,在每个主要发行版中都可以找到vsftpd的RPM包,很多情况下,它已经被装上了。如果没有的话,源代码可以在网站http://vsftpd.beasts.org/上找到,下载后执行手工安装。目前最新的版本为:vsftpd2.0.3。
得到源代码并解开tar包后,进入新建的目录,并运行make。下面是进行手工安装的示例:
# tar xzvf vsftpd-2.0.3.tar.gz
# cd vsftpd-2.0.3
# make
这之前我们应该看看用户“nobody”和目录“/usr/share/empty”是否存在,如果需要的话我们就新建这一对用户和目录。如果我们允许用户匿名访问,用户“ftp”和目录“var/ftp”也需要创建。使用如下两个命令完成:
# mkdir /var/ftp
# useradd -d /var/ftp ftp
由于安全原因,目录 “/var/ftp” 不应该属于用户 “ftp”,也不应该有写权限。如果用户已经存在的话,用下面的两个命令,我们可以改变目录的所有者并去掉其他用户的写权限:
# chown root.root /var/ftp
# chmod og-w /var/ftp
达到了所有的先决条件后,我们可以安装 vsftp-daemon 了。
# make install
这样,就完成了vsftpd的安装,当然,这个安装过程比较复杂,在我们现在使用的Linux系统当中,很多都是使用RPM包来安装的,这样简单快捷,下面介绍如何通过使用RPM包来安装vsftpd。
在RedHat Linux9中自带了vsftpd,下面是安装的步骤:
1. 首先查看是否安装了vsftpd,如果已经安装,则可以直接使用。
# rpm - q|grep vsftpd
2. 没有安装的话,将下载来的vsftpd-1.1.3-8.i386.rpm的RPM包进行安装。
# rpm - vh vsftpd-1.1.3-8.i386.rpm
通过以上两步,就能顺利地完成安装过程。
配置文件介绍
配置文件的路径为 /etc/vsftpd.conf。和Linux系统中的大多数配置文件一样,vsftpd的配置文件中以#开始注释,下面对配置文件的重要内容选项进行详细的介绍,合理的使用配置文件是保证FTP安全传输的前提。
查看配置文件:
#vi /etc/vsftpd.conf
设置是否允许匿名访问:
# Anonymus FTP-access permitted? YES/NO
anonymous_enable=NO
设置是否允许匿名上传文件:
# Permit anonymus upload? YES/NO
anon_upload_enable=NO
设置是否运允许匿名建立目录:
# Permission for anonymus users to make new directories? YES/NO
anon_mkdir_write_enable=NO
设置是否允许匿名用户进行删除或者改名等操作:
# Permission for anonymus users to do other write operations - like renaming or deleting? YES/NO
anon_other_write_enable=NO
设置是否允许本地用户登录:
# Log on by local users permitted? YES/NO
local_enable=YES
设置是否将本地用户锁定在主目录:
# Shall local users be locked into their home directory? YES/NO
chroot_local_user=YES
设置最高传输速度:
# Highest permitted data transfer rate in bytes per second for local logged on users. Default = 0 (unlimited)
local_max_rate=7200
设置是否允许通常的写操作:
# General write permission? YES/NO
write_enable=YES
设置是否在改变目录后发送消息:
# Enable messages when changing directories? YES/NO
dirmessage_enable=YES
设置服务器向登录客户端发送的欢迎信息:
# Welcome banner at users logon.
ftpd_banner="Welcome to neo5k's FTP service."
设置是否激活日志功能:
# Activate logging? YES/NO
xferlog_enable=YES
设置是否对所有的FTP操作作日志,如果设置是,则可能产生巨大的数据:
# Logging of all FTP activities? YES/NO
# Careful! This can generate large quantities of data.
log_ftp_protocol=NO
设置是否只允许在端口20建立连接:
# Confirm connections are established on port 20 (ftp data) only. YES/NO
connect_from_port_20=YES
设置无任何操作的超时时间:
# Timeout ring idle sessions
idle_session_timeout=600
设置数据连接的超时时间:
# Data connection timeout
data_connection_timeout=120
设置访问所使用的PAM:
# Access through Pluggable Authentication Moles (PAM)
pam_service_name=vsftpd
设置工作模式是否为独立模式:
# Standalone operation? YES/NO - depending on operation mode (inetd, xinetd, Standalone)
# The author's FTP service is being startet with xinetd, therefore the value here is NO.
listen=YES
设置是否使用tcp_wrappers作为主机访问控制方式:
tcp_wrappers =YES
启动 FTP 服务
启动vsftpd可以采用三种方式:inetd、xinetd和standalone(独立)工作模式。由于目前使用的xinetd扩展了inetd,它比inetd更加高效和实用,包括诸如请求记录、访问控制、将业务与网络接口绑定等改进,所以通常使用xinetd,本文将介绍xinetd以及standalone两种启动方式。
1. xinetd方式启动
使用该启动方式,在上述的配置文件当中,应该将listen=YES设为list=NO,并且将tcp_wrappers=YES设为tcp_wrappers=NO,并且使用如下命令将vsftpd的文档目录拷贝到/etc/xinetd.d目录下:
# cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
# vi /etc/xinetd.d/vsftpd
将disable=yes设为disable=no即可。一个关于该启动方式的的配置文件如下所示:
# cat /etc/xinetd.d/vsftpd
# default: on
# description: The vsftpd FTP server serves FTP connections. It uses
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
disable = no
flags = IPv4
}
现在,就可以使用如下命令来启动vsftpd了。
停止独立运行的vsftpd:
# service vsftpd stop
重新启动xinetd守护进程:
# service xinetd restart
另外一点需要说明的是:如果想在系统启动时就自动运行该服务,那么需要使用setup命令,在网络服务配置的项目中,选中vsftpd守护进程即可。
2. 独立工作模式启动
vsftpd也可以工作在独立工作模式下。这样,我们需要再次打开“/etc/vsftpd.conf”做如下修改:
# Shall the vsftp daemon run in standalone operation? YES/NO
listen=YES
在这项设置之后,守护进程可以用如下方式启动:
# service vsftpd start
同样地,在独立工作模式下,我们必须保证vsftpd没有被xinetd启动,这个可以使用如下命令来进行检查:
# pstree|grep vsftpd
测试运行
在成功地安装和配置之后,我们将对该FTP服务器进行简单的测试运行,示例如下:
# ftp liyang
Connected to liyang.
220 (vsFTPd 1.1.3)
Name (liyang:root): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -l
229 Entering Extended Passive Mode
150 Here comes the directory listing
drwxr-xr-x 20 500 100 400 Jun 04 16:14 mp3
drwxr-xr-x 3 500 100 464 Feb 09 21:28 test
drwxr-xr-x 57 500 100 5143 Jun 15 19:23 working
226 Directory send OK.
上述过程测试了FTP服务器的成功运行,并且浏览了服务器上的几个文件夹。
如何借助vsftpd在Linux上构建安全的FTP服务
Linux用户可以通过使用FTP连接到服务器,并提供登录信息,访问其主目录,即/home/user。把vsftpd安装到Linux上如果想把vsftpd安装到Ubuntu、Debian或Linux Mint上,可以使用apt-get命令。系统一启动,vsftpd服务就会自动启动。$ sudo apt-get install vsftpd如果想把vsftpd安装到CentOS、Fedora或RHEL上,我们可以使用yum来轻松完...
还在找storm proxy?
作为上海圣钧信息科技有限公司的工作人员,我公司并不提供名为"Storm Proxy"的服务。我们致力于提供高质量的信息技术服务,包括但不限于云计算、大数据处理、人工智能等领域。我们的服务对象主要是企业客户,为其提供定制化的解决方案和技术支持。如果您正在寻找相关的服务,建议您通过搜索引擎或行业专业网站等途径进行查询。同时,请注意防范虚假信息和欺诈行为,确保您选择正规、可靠的服务提供商。如有其他问题或需要进一步了解,欢迎随时与我们联系。SmartProxy企业级海外住宅IP代理服务商,覆盖全球200+国家和地区,高匿稳定,动态住宅代理/静态住宅代理/账密提取,100%原生住宅IP,城市级定位,支持HTTP/HTTPS/SOCKS5协议,不限带宽,纯净高匿,网络集成更快捷,注册即送流量!Smartproxy代理...
如何在linux建一个ftp服务器?
首先,使用 xshell 登录 Linux 系统,检查是否已安装 FTP 服务器。如未安装,通过命令行安装 vsftpd 软件包。使用命令:# yum -y install vsftpd 进行安装。接着,备份主配置文件,确保操作安全。命令如下:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 然后,编辑主配置文件启用白名单功...
Linux搭建高效FTP虚拟用户全过程
重启:service vsftpd restart 或者把 guest_username=ftp #虚拟用户隶属于它 更改为 guest_username=root #虚拟用户隶属于它 重启:service vsftpd restart 启动或连接 FTP 时提示错误:500 OOPS: bad bool value in config file for: XXX 很有可能是在弄参数的时候,弄了多余的空格,或参数项搞错...
linux怎么搭建ftp服务器
2、配置vsftpd服务的宿主 useradd vsftpdadmin -s /sbin/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录 3、建立ftp虚拟宿主帐户 useradd vsftpuser -s /sbin/nologin -M 这ftpuser只个虚拟帐户的宿主,本身是不用登录的 4、配置vsftpd.conf 配置之前要先备份一下原来的 vi /etc/v...
教你Linux三分钟搭建FTP
在Linux环境中,首先检查是否已安装vsftpd软件。以CentOS8为例,使用rpm命令进行检查。若未安装,则通过yum命令或手动安装。完成安装后,确保防火墙开启,对于公网使用FTP服务的场景,关闭防火墙不是明智之举,而是应打开21端口。使用systemctl命令启动FTP服务。验证FTP服务是否正确运行,使用ip命令查看本机网卡...
linux怎么搭建ftp服务器
1、检查安装vsftpd软件 使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装。2、启动服务 使用vsftpd软件,主要包括如下几个命令:启动ftp命令#service vsftpd start 停止ftp命令#service vsftpd stop 重启ftp命令#service vsftpd restart 3、vsftpd的配置 ...
实现Linux上的FTP权限控制linux设置ftp权限
在Linux上实现FTP权限控制,最常用的方式就是使用vsftpd服务器软件,但必须实现特定的设置,才能有效地实现FTP权限控制。事实上,VSFTPD的安装并不难,一般情况下可以使用一行命令实现安装,例如:sudo apt-get install vsftpd 此外,在配置/etc/vsftpd.conf文件中,也需要进行一些必要的设置:定义匿名用户和...
vsftpd的哪种认证模式最安全,并且需要如何配置以提高安全性?
FTP服务管理通常通过Linux的命令行工具,如ftp客户端,来进行。为了进行后续的实验,我们需要先安装这个工具。在命令行中,我们可以看到以下安装过程:运行yum install ftp,加载相关插件,确认安装,下载和安装ftp版本0.17-66.el7,最终安装成功。这样,我们就具备了使用FTP服务的必要工具。
服务器怎么架设ftp服务器服务器怎么架设ftp服务器端口
1、鼠标双击桌面上的我的电脑,打开。2、在打开的窗口中将地址中的内容删掉。3、在地址栏中输入ftp://服务器的地址,按回车键。4、在打开的界面中输入用户名,密码,点击登录。5、在打开的界面就是服务器中的内容了,现在可以操作文件了。如何在linux系统下搭建一台ftp服务器?在linux中一般使用vsft...
linux怎么配置ftp服务器
1、在一个合适的地方创建文件夹,这个文件夹作为用户的根目录,并设置好权限。例如:/home/ubuntu/ftp 2、执行如下语句添加用户(username为用户名)sudo useradd -d /home/ubuntu/ftp -s /bin/bash username 3、执行如下语句设置密码(username为用户名)sudo passwd username 四、启动ftp服务 sudo ...