Ubuntu中安装FTP具体方法 (ubuntu24.04)

教程大全 2025-07-18 10:05:19 浏览

FTP(File Transfer Protocol,文件传输协议),用于互联网上控制文件的双向传输的过程,主要用做 服务器 程序文件的上传和下载,下面为大家详细讲解一下Ubuntu中安装FTP具体方法。

第一步:在 Ubuntu 中安装 VSFTPD 服务器

首先,我们需要更新系统安装包列表,然后像下面这样安装 VSFTPD 二进制包:

$sudoapt-getUpdate$sudoapt-getinstallvsftpd

一旦安装完成,初始情况下服务被禁用。因此,我们需要手动开启服务,同时,启动它使得在下次开机时能够自动开启服务:

-------------OnSystemD--------------------------OnSysVInit-------------

接下来,如果你在服务器上启用了 UFW 防火墙(默认情况下不启用),那么需要打开端口 20 和 21 —— FTP 守护进程正在监听它们——从而才能允许从远程机器访问 FTP 服务,然后,像下面这样添加新的防火墙规则:

ubuntu24.04
$sudoufwallow20/tcp$sudoufwallow21/tcp$sudoufwstatus

第二步:在 Ubuntu 中配置并保护 VSFTPD 服务器

让我们进行一些配置来设置和保护 FTP 服务器。首先,我们像下面这样创建一个原始配置文件 /etc/vsftpd/vsftpd.conf 的备份文件:

$sudocp/etc/vsftpd.conf/etc/vsftpd.conf.orig

接下来,打开 vsftpd 配置文件。

$sudovi/etc/vsftpd.confOR$sudonano/etc/vsftpd.conf

把下面的这些选项添加/改成所展示的值:

anonymous_enable=NOlocal_enable=YESwrite_enable=YES#启用可以修改文件的FTP命令local_umask=022#本地用户创建文件的umask值dirmessage_enable=YES#当用户第一次进入新目录时显示提示消息xferlog_enable=YES#一个存有详细的上传和下载信息的日志文件connect_from_port_20=YES#在服务器上针对PORT类型的连接使用端口20(FTP数据)xferlog_std_format=YES#保持标准日志文件格式listen=NO#阻止vsftpd在独立模式下运行listen_ipv6=YES#vsftpd将监听ipv6而不是IPv4,你可以根据你的网络情况设置pam_service_name=vsftpd#vsftpd将使用的PAM验证设备的名字userlist_enable=YES#允许vsftpd加载用户名字列表tcp_wrappers=YES

现在,配置 VSFTPD ,基于用户列表文件/etc/vsftpd.userlist 来允许或拒绝用户访问 FTP。

注意,在默认情况下,如果通过userlist_enable=YES 启用了用户列表,且设置userlist_deny=YES 时,那么,用户列表文件/etc/vsftpd.userlist 中的用户是不能登录访问的。

但是,选项userlist_deny=NO 则反转了默认设置,这种情况下只有用户名被明确列出在/etc/vsftpd.userlist 中的用户才允许登录到 FTP 服务器。

userlist_enable=YES#vsftpd将会从所给的用户列表文件中加载用户名字列表userlist_file=/etc/vsftpd.userlistuserlist_deny=NO

重要的是,当用户登录 FTP 服务器以后,他们将进入 chrooted 环境,即当在 FTP 会话时,其 root 目录将是其 home 目录。

接下来,我们来看一看两种可能的途径来设置 chrooted(本地 root)目录,正如下面所展示的。

这时,让我们添加/修改/取消这两个选项来将 FTP 用户限制在其 home 目录

chroot_local_user=YESallow_writeable_chroot=YES

选项chroot_local_user=YES 意味着本地用户将进入 chroot 环境,当登录以后默认情况下是其 home 目录。

并且我们要知道,默认情况下,出于安全原因,VSFTPD 不允许 chroot 目录具有可写权限。然而,我们可以通过选项 allow_writeable_chroot=YES 来改变这个设置

保存文件然后关闭。现在我们需要重启 VSFTPD 服务从而使上面的这些更改生效:

-------------OnSystemD-------------

第三步:在 Ubuntu 上测试 VsFTP 服务器

现在,我们通过使用下面展示的 useradd 命令创建一个 FTP 用户来测试 FTP 服务器:

$sudouseradd-m-c-s/bin/bashaaronkilik$sudopasswdaaronkilik

然后,我们需要像下面这样使用 echo 命令和 tee 命令来明确地列出文件/etc/vsftpd.userlist 中的用户 aaronkilik:

$|sudotee-a/etc/vsftpd.userlist$cat/etc/vsftpd.userlist

现在,是时候来测试上面的配置是否具有我们想要的功能了。我们首先测试匿名登录;我们可以从下面的输出中很清楚的看到,在这个 FTP 服务器中是不允许匿名登录的:

接下来,我们将测试,如果用户的名字没有在文件/etc/vsftpd.userlist 中,是否能够登录。从下面的输出中,我们看到,这是不可以的:

现在,我们将进行最后一项测试,来确定列在文件/etc/vsftpd.userlist 文件中的用户登录以后,是否实际处于 home 目录。从下面的输出中可知,是这样的:

详解:Ubuntu 下安装和配置 FTP详解:Ubuntu 下安装和配置 FTP

* 在 Ubuntu 中确认 FTP 登录*

警告:设置选项allow_writeable_chroot=YES 是很危险的,特别是如果用户具有上传权限,或者可以 shell 访问的时候,很可能会出现安全问题。只有当你确切的知道你在做什么的时候,才可以使用这个选项。

我们需要注意,这些安全问题不仅会影响到 VSFTPD,也会影响让本地用户进入 chroot 环境的 FTP daemon。

因为这些原因,在下一步中,我将阐述一个更安全的方法,来帮助用户设置一个非可写本地 root 目录。

第四步:在 Ubuntu 中配置 FTP 用户的 Home 目录

现在,再次打开 VSFTPD 配置文件。

$sudovi/etc/vsftpd.confOR$sudonano/etc/vsftpd.conf

然后像下面这样用# 把不安全选项注释了:

接下来,为用户创建一个替代的本地 root 目录(aaronkilik,你的可能和这不一样),然后设置目录权限,取消其他所有用户对此目录的写入权限:

$sudomkdir/home/aaronkilik/ftp$sudochownnobody:nogroup/home/aaronkilik/ftp$sudochmoda-w/home/aaronkilik/ftp

然后,在本地 root 目录下创建一个具有合适权限的目录,用户将在这儿存储文件:

$sudomkdir/home/aaronkilik/ftp/files$sudochown-Raaronkilk:aaronkilik/home/aaronkilik/ftp/files$sudochmod-R0770/home/aaronkilik/ftp/files/

之后,将 VSFTPD 配置文件中的下面这些选项添加/修改为相应的值:

user_sub_token=#在本地root目录中插入用户名local_root=/home/$USER/ftp#定义各个用户的本地root目录

保存文件并关闭。然后重启 VSFTPD 服务来使上面的设置生效:

-------------OnSystemD-------------

现在,让我们来最后检查一下,确保用户的本地 root 目录是我们在他的 Home 目录中创建的 FTP 目录。

Connectedto192.168.56.102(192.168.56.102).220WelcometoTecMint.comFTPservice.Name(192.168.56.10:aaronkilik):aaronkilik331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemisUNIX.Usingbinarymodetotransferfiles.ftp>ls

详解:Ubuntu 下安装和配置 FTP详解:Ubuntu 下安装和配置 FTP

* FTP 用户 Home 目录登录*


如何架设FTP服务器

1、安装一个ftp服务器软件,建议使用Serv-U,比较简单和稳定。 2、配置Serv-U的用户权限。 3、设法取得固定的ip地址或使用固定域名绑定的动态ip地址。 4、将你计算机的ip地址或域名和ftp用户名、密码告诉你的朋友,这样他们就可以登陆下载了。

Fedora 5怎么安装FTP

1、上网,确保FC5能连接上官方软件仓库2、安装VSFTP服务器软件,打开添加删除程序-搜索名为“vsftpd”的包,并安装。或在终端下输入也可:yum search vsftpdyum install vsftpd3、安装VSFTP服务器后,启动服务/etc/rc.d/init.d/vsftpd start或者你更改他的运行级别,方便以后自动启动chkconfig --level 345 vsftpd on4、如果你要配置Ftp服务端,你就直接修改配置文件,/etc/vsftpd/,修改完了重启vsftpdf服务生效要用图形配置工具,你只好装个Webmin了,我没用过图形配置,大多是改文件,希望对你有帮助

Ubuntu 16.04 64位服务器使用ftp的方法

最好安装openssh-Server,连接时用sftp协议ftp协议不是很适用于linux

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐