Ubuntu 12.04下安装FTP软件当然选择大名鼎鼎的vsftpd(very secure FTP daemon), 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
sudo useradd -g ftp -d /home/test -M test
PS: 删除用户用以下命令:
sudo userdel test
设置密码:
passwd test
修改vsftpd的配置文件“vi /etc/vsftpd.conf”:
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#可以上传
write_enable=YES
local_umask=022
#启用在chroot_list_file的用户只能访问根目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list添加受访问目录限制的用户:
echo "test" >> /etc/vsftpd.chroot_list
启用了chroot的话,根目录要设置为不可写,这是vsftp的保护机制。
chmod a-w /home/test
那么用户登陆FTP就可以访问到test下的东西,但是没法去上传文件。如果把test文件夹设置成777权限,那么FTP就登陆不上去。
所以解决办法是。在test文件夹下再创建一个文件夹“/home/test/wwwroot”,将wwwroot设置成777就可以了,那么以后上传东西就上传到wwwroot里。
OK,重启vsftpd之后就可以使用上面新创建的账号访问。