Debian/Ubuntu系统安装FTP服务器程序vsftpd

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。


安装vsftpd:

日常更新:

apt-get update

安装vsftpd:

apt-get install vsftpd

编辑配置文件:

vi /etc/vsftpd.conf

需要修改的参数如下:

listen=NO
listen_ipv6=YES
这两个选项必须二选一,否则会有冲突,listen_ipv6=YES同时支持ipv4与ipv6,如不想使用ipv6,则可设为listen=YES、listen_ipv6=NO,如无特殊需求,不必进行更改,使用默认即可

listen_port=21
配置文件中并没有这一项,FTP使用的端口是默认的21,如果想更改端口,则加上这一句,并修改成自己想要的端口号就可以了

anonymous_enable=NO
不允许匿名用户登录

local_enable=YES
允许本地用户登录

write_enable=YES
允许FTP写入

local_umask=000
创建新文件的默认权限,设置为000,则该文件的chmod权限码为777,任何人都可以读取、写入、执行;默认为022,chmod权限码为755;为了方便管理,建议设置成000,实际请根据自身需求设置

xferlog_enable=YES
开启上传和下载日志,根据自身需求设置

connect_from_port_20=YES
确保传输来自20端口

xferlog_file=/var/log/vsftpd.log
上传和下载日志存放的文件,根据自身需求设置

chroot_local_user=YES
限制用户登录后只能访问该用户自己的用户文件夹,如果设置为NO,则登录FTP服务器后,可以访问到服务器上的所有文件,这样很不安全,所以还是有必要限制一下

其他参数请根据需求,自行翻译英文说明,这里不做介绍


建立FTP用户文件夹:

mkdir -p /var/ftp/upload

mkdir -p /var/ftp/download

chmod 755 /var/ftp

chmod 777 /var/ftp/download

chmod 777 /var/ftp/upload

说明:
第一、二行:为在var目录下分别创建FTP用户文件夹ftp、upload、download,其中ftp文件夹稍后将作为FTP用户的主文件夹,文件夹名称可自行更改
第三行:设置ftp文件夹的权限,建议chmod权限码是755,不建议设置过高的权限,由于新版本vsftpd做了权限限制,如果把用户主目录权限设置成777会导致vsftpd直接拒绝来自客户端的访问
最后两行:设置upload与download文件夹权限为任何人都可以读取、写入、执行,这样设置是为了方便管理,可根据自身需求调整chmod权限码


建立FTP用户与用户组:

建立FTP用户组,方便管理FTP用户:

groupadd ftpgroup

其中ftpgroup为用户组名称,可自行修改

建立FTP用户:

useradd -g ftpgroup -d /var/ftp -M ftpuser

说明:
-g 将用户加入到刚刚创建的FTP用户组
-d 指定用户主目录,也就是上边创建的目录
-M 不在home文件夹中创建用户目录
ftpuser为被创建用户的用户名,可自行修改

更改用户ftpuser的密码:

passwd ftpuser

使用方法:

启动: service vsftpd start
停止: service vsftpd stop
状态: service vsftpd status
重启: service vsftpd restart

启动: /etc/init.d/vsftpd start
停止: /etc/init.d/vsftpd stop
状态: /etc/init.d/vsftpd status
重启: /etc/init.d/vsftpd restart

可以通过查看端口监听状态,确保FTP服务是否正常运行:

netstat -nap |grep LISTEN

至此,FTP服务器以搭建完毕,请根据自身设置使用FTP客户端进行连接。

另外,由于FTP是一种文件传输协议,既然是传输,那肯定涉及到防火墙,如果开启了防火墙,请开放对应的FTP服务端口即可,本文不做介绍。