在Ubuntu/Linux中安装FTP

Posted 女儿控伪全栈老徐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu/Linux中安装FTP相关的知识,希望对你有一定的参考价值。

操作系统:Ubuntu 20.04 64位

一、下载并安装 vsftpd

Ubuntu下只需一句命令即可:

sudo apt-get install vsftpd

二、编辑配置项 

在上一步,如果完成下载安装之后,我们可以转到 /etc 目录下,检查一下有没有以下这个文件出现:

vsftpd.conf

 如果有的话,打开编辑它:

sudo vim vsftpd.conf

这个配置文件默认内容很多,有大量的注释,可能一屏都显示不下:

有些项保持原状就好了,有些项默认是被注释掉的,需要打开。简单整理如下:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
diemessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log #建议修改日志文件保存的位置
xferlog_std_format=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES

文件内容很多,尤其是在命令行环境下看起来很费眼睛,要仔细核对。

大部分配置项可能在默认情况下都是打开的,唯一的建议是在有条件的情况下把日志文件的目录修改到其它位置上,例如额外挂载的数据硬盘等,记得要放开日志文件保存目录的读写权限。

三、创建ftp用户

使用以下命令,添加新的用户到系统中:

sudo useradd ftpuser

为新的用户创建密码:

sudo passwd ftpuser

为ftp用户创建一个/home下的专属目录:

sudo mkdir /home/ftpuser

改变这个专属目录的所有权:

sudo chown ftpuser:ftpuser /home/ftpuser

一般而言,Ubuntu在 /home 路径下的目录都是用户的默认目录,这个目录最好不要被删除掉,所以修改一下这个目录的权限:

sudo chmod 555  /home/ftpuser

继续在这个目录下再创建一个目录,这个目录可以被添加写权限:

sudo mkdir /home/ftpuser/share
sudo chmod 777 /home/ftpuser/share

至此所添加的其实都是操作系统的用户账户,我们还要为ftp本身把这个用户账户添加好。

回到/etc 目录,还记得在之前步骤的配置文件中的下面一项吗:

chroot_list_file=/etc/vsftpd.chroot_list

这一项指定的文件在什么位置,我们就到这个位置去创建这个文件(颠倒过来也行,先创建完文件,再回去修改配置文件也可以):

sudo vim /etc/vsftpd.chroot_list

在这个文件里,把刚才新建的ftp用户添加进去:

写账户名就可以了,如果还有其它可以登录ftp的账户,就每行写一个。

 四、启动服务

用以下命令可以查看服务的状态:

service vsftpd status

 上图中的“Active:active(running)”表明服务正在运行中。

用以下命令可以重启服务,使我们之前修改的配置都生效:

service vsftpd restart

五、测试连接

在测试之前,请确认打开了服务器上的21端口(ftp的默认端口是21)。

我使用了FileZilla客户端进行测试。使用FileZilla的时候需要把连接模式设置为“主动”:

能够连接上并显示出服务器上我们之前所配置的目录即可。可以试着上传一个文件。 

以上是关于在Ubuntu/Linux中安装FTP的主要内容,如果未能解决你的问题,请参考以下文章

如何在ubuntu / Linux中安装python版本3.5.6?

ubuntu linux系统中安装mysql以及windows安装配置sqlyog

在 C++ Ubuntu 中安装 FTP 客户端(库)

ftp服务器在linux中安装

如何在 CentOS 7 中安装配置和安全加固 FTP 服务

Maven:使用其ftp地址在本地存储库中安装jar