linux虚拟机安装配置vsftpd,Linux 使用 vsftpd 搭建 FTP 服务器

FTP 是一种常用的文件传输协议。很多虚拟主机和服务器也都在使用 FTP 传输文件。FTP 包含服务端和客户端。服务端的主要功能就是存储文件和为客户端提供文件管理服务,客户端的主要功能就是连接到服务端管理文件。

下面简单写一下 FTP 服务端的搭建。

FTP 的服务端有很多,这里使用的是 vsftpd 。下面是 百度百科对 vsftpd 的简单介绍:vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

如果您在阅读本文或搭建 FTP 时遇到问题可以在下方的评论区留言。

安装

CentOS:yum -y install vsftpd

如需查看 Yum 相关的教程可以访问:Linux Yum 简单使用教程 。

Ubuntu/Debian:apt-get install vsftpd

不同版本的 Linux 只是安装方式不一样,使用方法都是一样的。

我使用的 Linux 版本是 CentOS 8。

配置

安装完成后启动 vsftpd 服务:systemctl start vsftpdsystemctl enable vsftpd

打开 21 端口,

CentOS 7/8:firewall-cmd --zone=public --permanent --add-port=21/tcp

开放 FTP 服务:firewall-cmd --zone=public --permanent --add-service=ftp

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

如果要查看 CentOS 6 开放端口的方法可以访问:CentOS 开放、关闭和查看端口 。

接下来就是修改配置文件。不过在修改配置文件之前可以先备份一下配置文件:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-backup

您也可以直接进入 /etc/vsftpd/ 操作。

使用 VI 之类的编辑器打开 /etc/vsftpd/vsftpd.conf :vi /etc/vsftpd/vsftpd.conf

下面是 vsftpd.conf 的一些配置说明,您可以根据需要更改配置项:anonymous_enable=NO :禁用匿名登录。

local_enable=YES :允许本地登录。

write_enable=YES :启用更改文件系统的FTP命令。

local_umask=022 :本地用户创建文件的权限值。

dirmessage_enable=YES :在用户首次进入新目录时启用消息显示。

xferlog_enable=YES :把操作记录写入到日志文件。

connect_from_port_20=YES :使用 20 端口传输。

xferlog_std_format=YES :保持标准日志文件格式。

listen=NO :防止 vsftpd 在独立模式下运行。

listen_ipv6=YES 使用 IPv6,如果没有 IPv6 可以设置为 NO 。

pam_service_name=vsftpd :PAM 服务的名称。

userlist_enable=YES :启用 vsftpd 加载用户名列表。

tcp_wrappers=YES :使用 tcp_wrappers 限制访问。

chroot_local_user=YES :用户列表文件中的用户是否可以切换到上级目录。

更改完成后保存,然后重启 vsftpd 服务:systemctl restart vsftpd

用户配置

vsftpd 的用户可以分为:匿名用户、系统用户、虚拟用户。

匿名用户

匿名用户就是不需要用户名和密码,在启动 vsftpd 服务后直接使用 IP + 端口号 就能登录。匿名用户比较适合用于公开的文件分享,只需要在浏览器或资源管理器的地址栏输入:IP:21 就能直接访问文件。

匿名用户的文件目录是 /var/ftp/pub ,在默认情况下匿名用户只能访问和下载文件,不能创建和修改文件。

如果要允许匿名用户上传文件可以在 vsftpd 的配置文件,也就是 /etc/vsftpd/vsftpd.conf 设置 anon_upload_enable=YES 如果前面有 # 的就删除 # 。

如果要禁止匿名用户登录可以在配置文件中设置 anonymous_enable=NO 。

系统用户

系统用户就是直接使用 Linux 的用户登录,用户名和密码就是 Linux 的用户名和密码。

创建用户:useradd userName

其中的 userName 就是用户名。

给新创建的用户设置密码:passwd userName

其中的 userName 就是要设置密码的用户,回车后需要输入两次密码。

用 VI 之类的编辑器打开 /etc/vsftpd/user_list :vi /etc/vsftpd/user_list

把创建的新用户的用户名添加到最后一行,然后保存。

现在就可以使用刚创建的用户名和密码登录 FTP 服务器了。登录后的 FTP 目录就是当前用户的目录,比如我创建了一个名为 mark 的目录,那我的目录就是 /home/mark 。

虚拟用户

虚拟用户就是在 vsftpd 中配置用户,然后把配置的 vsftpd 用户映射到 Linux 的系统用户。

下面创建一个 www 用户作为虚拟用户的宿主用户:useradd www

打开 vsftpd 配置文件 /etc/vsftpd/vsftpd.conf,添加下面几行配置:guest_enable=YES

guest_username=www

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vu

上面的配置信息在默认的 vsftpd 配置文件中是没有的,需要手动添加。

下面是配置信息说明:guest_enable:启用虚拟用户功能。

guest_username:设置虚拟用户的宿主用户,上面设置的就是刚创建的 www 用户。

virtual_use_local_privs:设置虚拟用户的权限和宿主用户一致。

user_config_dir:存放虚拟用户的配置文件的位置,上面设置的是 /etc/vsftpd/vu。

启用虚拟用户,listen 也需要设置为 YES,否则启动 FTP 服务时可能会出现错误。

接下来就是配置虚拟用户的用户名和密码,我下面会创建一个 /home/vu-cfg 来存放虚拟用户的用户名和密码:touch /home/vu-cfg

这个存放虚拟用户的文件对命名和位置没有要求,只要你能找到就可以。

用 vi 之类的编辑器打开 /home/vu-cfg 添加用户名和密码:user1

123456

user2

123456

用户名和密码的配置文件格式是一行用户名、一行密码,基数行为用户名、偶数行为密码。上面配置了两个虚拟用户分别是 user1 和 user2,两个用户的密码都是一样的。最后需要留一行空行,否则生成数据文件的时候可能会报错。

生成用户数据文件:db_load -T -t hash -f /home/vu-cfg /etc/vsftpd/vu-cfg.db

上面使用 /home/vu-cfg 生成了一个数据文件,数据文件存放在 /etc/vsftpd/vu-cfg.db。数据文件需要用 db 后缀。

以后如果需要增加或删除虚拟用户,可以更改 /home/vu-cfg,更改完成后也需要重新生成数据文件。

配置 pam 文件,vsftpd 的 pam 文件默认在 /etc/pam.d/vsftpd。

在配置之前可以先备份一下:cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd-backup

用 vi 之类的编辑器打开 /etc/pam.d/vsftpd,删除默认的内容,加入下面的内容:#%PAM-1.0

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vu-cfg

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vu-cfg

其中的 db=/etc/vsftpd/vu-cfg 中的 /etc/vsftpd/vu-cfg 就是数据文件,这里的数据文件不需要加 db 后缀。

接下来配置单独的虚拟用户,在 vsftpd.conf 中设置的虚拟用户配置文件的存放位置是 /etc/vsftpd/vu。

如果设置的目录不存在的话可以创建一个:mkdir /etc/vsftpd/vu

创建虚拟用户配置文件:touch /etc/vsftpd/vu/user1

虚拟用户配置文件的文件名需要和虚拟用户名相同,例如我上面配置的虚拟用户名是 user1 和 user2 ,我的虚拟用户的配置文件的文件名也需要是 user1 和 user2。

在虚拟用户的配置文件中加入:local_root=/home/www/user1

上面配置 user1 用户的目录为 /home/www/user1。

不同的虚拟用户可以配置不同的目录,虚拟用户的目录需要在宿主用户目录之下。例如我上面设置的宿主用户是 www,宿主用户目录是 home/www,虚拟用户目录就需要在 home/www 之下。

虚拟用户目录不是必须的,如果不配置的话,虚拟用户目录就是宿主用户目录。

上面和虚拟用户有关的全部配置完成后重启 vsftpd:systemctl restart vsftpd

如果配置没问题的话,重启后就可以用 FTP 工具连接使用了。

相关文章:

版权声明:本文为原创文章,版权归 Mr. Ma's Blog 所有,转载请联系博主获得授权。

如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在虚拟机Linux)上安装配置FTP服务器,您需要遵循以下步骤: 1. 安装FTP服务器软件:您可以使用vsftpd或proftpd等软件。在Linux中,您可以使用以下命令安装vsftpd: sudo apt-get install vsftpd 2. 配置FTP服务器:您需要编辑vsftpd.conf文件来配置FTP服务器。您可以使用以下命令打开该文件: sudo nano /etc/vsftpd.conf 在该文件中,您可以配置FTP服务器的各种选项,例如FTP根目录、FTP用户、FTP用户权限等。 3. 启动FTP服务器:您可以使用以下命令启动FTP服务器: sudo service vsftpd start 4. 测试FTP服务器:您可以使用FTP客户端连接到FTP服务器并测试其功能。例如,您可以使用FileZilla等FTP客户端连接到FTP服务器并上传/下载文件。 希望这些步骤能帮助您在虚拟机Linux)上安装配置FTP服务器。 ### 回答2: 虚拟机(linux)安装配置ftp服务器 安装Linux虚拟机: 1. 首先下载一款虚拟机软件,如VMware Workstation Player或者Oracle VirtualBox。 2. 准备好一份Linux的ISO安装包,如CentOS、Ubuntu等。在虚拟机软件中新建虚拟机,并将安装包导入到虚拟机中。 3. 根据软件的提示进行虚拟机安装,包括硬盘容量、计算机名称、root用户密码等。 配置Linux系统: 1. 打开Linux系统的命令行界面,运行sudo apt-get install ftp命令安装FTP服务器。 2. 运行sudo systemctl start vsftpd命令开启FTP服务器。 3. 运行sudo systemctl enable vsftpd命令设置开机自启。 4. 运行sudo ufw allow 21命令开启FTP服务器的防火墙端口。 5. 从本地计算机中使用FTP客户端软件连接FTP服务器使用root用户名和密码登录。 FTP服务器配置: 1. 默认情况下,FTP服务器是不提供匿名访问的。如果需要开通匿名访问,在/etc/vsftpd.conf文件中将anonymous_enable=YES设置为YES即可。 2. 通过修改/etc/vsftpd.conf文件来确定用户访问FTP服务器的日志文件位置、上传下载限制等参数。 3. 如果需要为FTP文件夹设置权限,可以使用chmod命令,例如chmod -R 777 /var/ftp/pub。 通过以上步骤,我们就可以成功在Linux虚拟机搭建了一个FTP服务器。用户可以通过FTP客户端软件连接上该服务器,上传下载文件,并且我们也可以通过修改配置文件来对FTP服务器进行更多的设置。 ### 回答3: 虚拟机在计算机技术领域中非常常见,它可以在一台物理机上运行多个虚拟的计算机系统。Linux作为一种开源、免费、安全、强大、高效的操作系统,在虚拟机中也得到了广泛应用。在Linux安装配置过程中,FTP服务器安装配置也是非常重要的一步。下面我们详细介绍如何在Linux虚拟机安装配置FTP服务器。 首先,需要安装FTP服务器软件,可以使用VSFTP(Very Secure FTP,非常安全的FTP)作为例子进行介绍。使用命令sudo apt-get install vsftpd即可安装安装FTP服务器软件后,需要进行一些配置,如配置FTP根目录、指定用户组、开启FTP服务等。先通过命令sudo nano /etc/vsftpd.conf打开配置文件,接下来进行如下操作: 1. 配置FTP根目录 vsftpd目录默认根目录为/var/ftp,可以通过在配置文件中添加如下语句更改为自己所需的目录,如修改为/home/ftp: anon_root=/home/ftp 2. 指定用户组 在FTP服务器中创建用户可以使用Linux自带的用户管理命令useradd,与FTP服务器绑定可以使用groupadd命令添加一个FTP指定用户组,如: groupadd ftp-users 3. 开启FTP服务 在配置文件中找到如下命令并将值从NO改为YES,开启FTP服务: listen=YES 关于FTP服务器配置还有很多,如设置允许匿名访问、设置FTP端口号、设置最大连接数等。此外,在安装配置FTP服务器的过程中还需要注意安全性,如设置FTP密码、关闭匿名访问等,保障FTP服务器的数据安全。 总结:在Linux虚拟机安装配置FTP服务器,需要先安装FTP服务器软件,然后进行一些配置,如配置FTP根目录、指定用户组、开启FTP服务等。安装配置FTP服务器需要具备基本的Linux操作技能,还需要注意FTP服务器的安全性,保障数据安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值