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服务端口即可,本文不做介绍。