这次我是在Ubuntu 14.04.1 LTS上安装vsftpd
sudo apt-get update
sudo apt-get install vsftpd
sudo service vsftpd restart
问题出在启动这里,我在/etc/init.d/vsftpd没有此文件。
全新安装:apt-get install vsftpd
重新安装:apt-get --reinstall install vsftpd
卸载并清除配置文件:apt-get -purge remove vsftpd
关于如何卸载最干净问题,每种软件在安装时可能包含多个安装包模块,所以单纯的remove主程序包一般来讲肯定不干净,就像下文的:
http://www.cloudfly.info/archives/33
----------------安装完成后开始配置用户---------------------------
我使用的是配置本地用户上传:
sudo vi /etc/vsftpd.conf
#接受本地用户
local_enable=YES
#接受本地用户可写
write_enable=YES
#掩码,决定了上传上来的文件的权限。设置为022
local_umask=022
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
#我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户
userlist_deny=NO
userlist_enable=YES
#记录允许本地登陆用户名的文件
userlist_file=/etc/allowed_users
#记录允许本地登陆用户名的配置文件
user_config_dir=/etc/vsftpd_user_conf
然后 sudo vi /etc/vsftpd.chroot_list
内容为允许FTP上传的用户名
ftpuser
然后 vi /etc/allowed_users
内容为允许FTP上传的用户名列表,一行一个用户名:
ftpuser
然后mkdir /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/ftpuser
内容为FTP用户的参数指定:
local_root=/web/project
write_enable=YES
这里可以加入其他参数
注:一定要将FTP的根目录的W属性去掉,如chmod a-w /path/ftpdir
--------前提:增加ftpuser用户
sudo adduser ftpuser
并修改ftpuser的shell无法使用 vi /etc/passwd,shell处改为: /usr/sbin/nologin
再sudo echo /usr/sbin/nologin >> /etc/shells,否则还是无法登录(原因是设置了 /usr/sbin/nologin)
错误:如果启动报错没有pid文件和.sock