ubuntu 配置ftp

一,安装vsftpd步骤

1
2
3
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd

二,修改/etc/vsftpd.conf

把下列行取消注释,也就是开启下列行:

1
2
3
write_enable=YES
local_umask=022
chroot_local_user=YES

在末尾添加如下行:

1
2
3
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=40100

三,新建用户test,并指定访问目录

1
sudo useradd -d /mnt/ftp -M test

设置密码

1
passwd test

四,登陆测试

1
2
3
4
5
6
7
8
9
zouhongzhaodeMacBook-Pro:Downloads zouhongzhaoo$ ftp test@115.28.44.1
Connected to 115.28.44.1.
220 (vsFTPd 3.0.2)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

 

五,常见错误

1, vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

1
allow_writeable_chroot=YES

 

2,530 Login incorrect

1
2
3
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd

这是因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。

坚持原创技术分享,您的支持将鼓励我继续创作!