以 vsftpd为例:
1,安装ftp
sudo apt-get install vsftpd
2,配置vsftpd.conf
------------------
sudo nano /etc/vsftpd.conf #禁止匿名访问
anonymous_enable=NO#接受本地用户
local_enable=YES#允许上传
write_enable=YES#用户只能访问限制的目录
chroot_local_user=YES#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
local_root=/home/ftp
看网上说加一行“pam_service_name=vsftpd”,我看我这个配置文件本来就有,就不管了。
-------------------
3,添加ftp用户
sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser
4,调整文件夹权限
这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data
这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。
改pam.d/vsftpd
这时候直接用useradd的帐号登录ftp会530 login incorrect
sudo nano /etc/pam.d/vsftpd
注释掉
#auth required pam_shells.so
5,重启vsftpd
sudo service vsftpd restart