在 Ubuntu 16.04上安装 vsFTPd

时间:2023-12-20 08:16:50

在 Ubuntu 16.04上安装 vsFTPd

Ubuntu
vsFTPd

关于 vsFTPd

vsFTPd 代表 Very Secure File Transfer Protocol Daemon (非常安全的文件传输协议守护进程)。它是一个用于 Unix 和 Linux 操作系统的开源、轻量、稳定、最安全和最快的 FTP 服务器。
一些流行的FTP站点的Debian,FreeBSD,RED HAT,SUSE,Kernel,KDE,GENOME等,就是基于VSFTPD。
它是大多数Linux和Unix操作系统(例如Red Hat,CentOS,Fedora和Ubuntu)的默认FTP服务器。
它支持IPv6和SSL。因此,您可以使用VSFTPD为您的组织设置安全的FTP服务器。它是根据GPL许可的,完全免费。

1.更新软件仓库

root@mail:/# apt-get update
root@mail:/# apt-get upgrade

2.安装vsFTPd

root@mail:/# apt-get install vsftpd

备份下配置文件

root@mail:/# cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

3.编辑配置文件

使用 nano 打开 vsftpd.conf

root@mail:/# nano /etc/vsftpd.conf

使用CTRL+W搜索并修改以下配置项:

anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
chroot_local_user=YES
file_open_mode=0777
local_umask=022

如果存在则取消注释,否则添加行。

4.配置只允许特定用户访问

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

5.创建文件 vsftpd.allowed_users

sudo touch /etc/vsftpd.allowed_users

该文件包含了可以访问的用户名:

m.slavov
yourSECONDuser
yourTHIRDuser

如果你想的话还可以做一些高级配置:

#Useful to not write over hidden files:
force_dot_files=YES #Hide the info about the owner (user and group) of the files.
hide_ids=YES #Maximum number of clients:
max_clients=20 #Connection limit for each IP:
max_per_ip=2 #Chnage listen port from 21 to other
listen_port=999

6.添加ftp用户并且修改它的家目录

这点很重要,因为你能够限制这个用户只能访问一个目录。你可以允许它访问/var/www下的所有站点或只能访问其中某一个站点。
例如,如果你想创建用户ftp并只允许它访问一个站点,输入以下命令,并且不要忘了在/etc/vsftpd.allowed_users中添加这个用户:

root@mail:/# adduser ftp
root@mail:/# usermod –home /var/www/YOURFOLDERSITE ftp

或者打开文件/etc/passwd,然后搜索你想改变家目录的用户,把/home/ftpuser修改为/var/www

root@mail:/# nano /etc/passwd
root@mail:/# ftpuser:x:1001:1001:FTP USER,,,:/var/www:/bin/bash

7.重启vsFTPd

为了使修改生效,你必须重启vsFTPd服务。

root@mail:/# systemctl restart vsftpd

现在当用户通过 ftpzilla 连接 ftp,只能看到一个站点。
如果你想看到命令的输出,用命令/etc/init.d/vsftpd restart
显示vsFTPd状态,用命令:systemctl status vsftpd

8.配置权限

如果你想所有用户都有权限写入到这个文件夹,你必须设置全部权限777。
如果你只想某个组有权限写入、其他用户只能读,你就得设置权限为775.

root@mail:/# chmod 777 -R /var/www/YOURFOLDERSITE
root@mail:/# chown ftp:ftp -R /var/www/YOURFOLDERSITE

9.使用 Xftp 连接

新建连接,输入 ip 地址和刚才新建的 ftp 用户以及密码。

这里我遇到一个问题:

在命令行用ftp命令可以连接到 ftp 服务器,但是用 Xftp 连接却总是提示“无法显示远程文件夹”。

解决:

在“会话属性”的“选项”窗口,勾掉“使用被动模式”,重试。


参考:
http://linux-sys-adm.com/ubuntu-16.04-lts-how-to-install-and-configure-vsftpd-on-ubuntu/
https://www.ostechnix.com/install-vsftpd-server-ubuntu-16-04-lts/