linux下用vsftpd搭建FTP服务注意点(Ubuntu16.04)

字数 534阅读 272

题外话
起因是之前答应某人要给他开一台主机搭个博客,又一直想尝试一下liunx从零开始搭建各种服务的体验,于是申请了一台谷歌的VPS,开始天坑之旅。
既然是小白博客,首选自然是WordPress。先搭建一个LAMP环境,然后丢一个WordPress上去跑一下。php mysql apache2 和一些php扩展,一路apt-get下来,没有什么问题。
接下来做一些基本的配置,然后访问IP,出现WordPress安装界面,完美~( ͡° ͜ʖ ͡°) ~
小白甲方不懂Linux,最方便的文件管理莫过于FTP了,所以需要在主机上开一个FTP服务器,于是用vsftpd来搭建。

正文
1.安装vsftpd

$ sudo apt-get install vsftps

2.配置vsftpd的配置文件

$ sudo vim /etc/vsftpd.conf

3.设置以下几个配置

listen=NO
anonymous_enable=NO
listen_ipv6=YES
local_enable=YES
write_enable=YES
connect_from_port_20=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
 
//注意以下几点
 
 
/*设置新建文件的权限
* 一般设置为022
* 022的意思是,新建文件的权限为 777-022 = 755
* 666-022 = 644
* 我直接给了最高的权限所以设置为000
*/
local_umask=000
 
 
/*以下三行为开启被动模式
* 设置被动模式的最大和最小访问端口
* 这里最大和最小访问端口最好相差大一些
* 否则传输多个文件时可能出现部分文件传输失败
* 我这边设置了差10,基本足够
* 如果有防火墙记得打开这部分的端口权限
*/
pasv_enable=YES
pasv_min_port=8921
pasv_max_port=8931
 
 
/*设置默认的根目录
* 就是用户链接ftp后默认进入的目录
* 中间不要有空格
*/
local_root=/var/www/ftp
 
 
/*开启用户访问限制
* 限制用户只能在其主目录下活动
* 同时为主目录开放写的权限
* 如果不想开放写权限,通过chmod a-w 设置主目录权限
* 否则链接会出现500错误
*/
chroot_local_user=YES
allow_writeable_chroot=YES

4.添加ftp用户(最后一个是用户名 自定义)

$ sudo useradd -d /var/www/ftp ftpuser

5.设置的密码

$ sudo passwd ftpuser

6.修改pam

$ sudo vim /etc/pam.d/vsftpd

注释掉这一行

#auth   required    pam_shells.so

7.重启vsftpd服务

$ sudo service vsftpd restart

8.设置ftp目录权限

$ sudo chmod -R 777 /var/www/ftp

使用之前设置的用户名和密码尝试链接,成功!
一定要注意vsftpd.conf文件里的配置,首尾中间不要有空格
一定要注意vsftpd.conf文件里的配置,首尾中间不要有空格
一定要注意vsftpd.conf文件里的配置,首尾中间不要有空格
重要的事情说三遍

1.wget这个下载命令是有坑的,不支持302重定向,所以要下载一些重定向跳转的文件,要先抓包获得最终的下载地址再作为wget的参数进行下载(chrome的network上找到),否则下载下来的是一个5kb左右的文件,无法使用。
2.因为最初使用的是wordpress,所以在更新和安装插件的时候会一直让我输入ftp信息,由于已经开放了文件夹权限,所以直接在wp-config.php中加入以下三行代码即可:

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

推荐阅读更多精彩内容