Ubuntu下安装FTP服务器

后台一直提示wordperss版本和插件有更新,看着碍眼,决定把它们全都更新。不过更新文件需要服务器提供FTP服务,linode也没有提供到FTP,只能自己装一个了。我装的服务器系统是Ubuntu 12.04 LTS,FTP软件当然是选择大名鼎鼎的vsftpd(very secure FTP daemon), 用系统自带的FTP还好Ubuntu装vsftpd还是很简单,一句命令就行:

sudo apt-get install vsftpd
命令执行过程中,安装程序会给本地创建一个名为“ftp”的用户组,命令执行完之后会自动启动FTP服务。

可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直接访问),如果能直接连接到FTP服务器,则安装vsftpd算是大功告成。

开启、停止、重启vsftpd服务也很简单:

service vsftpd start | stop | restart
新安装的vsftpd默认是可以匿名访问,如果只想给某一个用户专门访问某一目录下的权限,则需要修改vsftpd的配置了。

首先,创建一个专门用来访问的用户,例如叫“test”:

mkdir -p /home/test
useradd test -g ftp -d /home/test -s /bin/bash
设置密码:

passwd test
修改vsftpd的配置文件“vi /etc/vsftpd.conf”:

#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#可以上传
write_enable=YES

chroot_local_user=YES
#启用在chroot_list_file的用户只能访问根目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

在/etc/vsftpd.chroot_list添加受访问目录限制的用户:
echo "test" >> /etc/vsftpd.chroot_list
若没有/etc/vsftpd.chroot_list文件,则自己创建一个。

OK,重启vsftpd之后就可以使用上面新创建的账号访问:)。
=========================================================
【常见问题】
530 Login incorrect
只有用匿名anonymous才可登录,其余所有用户都报530 Login incorrect错
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
加入这句话就OK啦.现在原因还不知道.

其他的解决思路:1、被动模式的问题
2、有时候可能是主目录的问题,比如你的FTP主目录是/data/www,但是用户vsftpd的在/etc/passwd不是这个目录也会出问题,记住查看日志。

(我的FTP报这个错是因为我把/etct/passwd下FTP用户的/sbin/nologin改成了/bin/bash,改回原来的禁止登录服务器就OK )。

猜你喜欢

转载自zhelong111.iteye.com/blog/1874970