阿里云 ubuntu 下配置ftp服务器 proftpd

一、安装ProFTPD

$ sudo apt-get install proftpd

二、添加ftp组及用户

$ groupadd ftpgroup

// -d 参数表示默认目录

$ useradd ftpadmin -d /home/ftp_files/ -g ftpgroup

执行完这句的时候,cat /etc/group 发现ftpgroup组下面没有用户 ftpadmin

//最后一句显示:ftpgroup:x:1001:

这时候执行 gpasswd -a ftpadmin ftpgroup // 添加用户ftpadmin到组ftpgroup

给用户ftpadmin设置密码 passwd ftpadmin

//修改完以后在执行 cat /etc/group 最后一句显示:ftpgroup:x:1001: ftpadmin
三、修改用户 chroot

连接成功但并没有限定用户 ftpadmin 的根目录,也就是chroot,用户还可以访问上级目录

// 修改 proftpd配置文件

$ vi /etc/proftpd/proftpd.conf

// 去掉如下行前的注释 #

# DefaultRoot ~

// 重启 proftpd 即可

$ /etc/init.d/proftpd restart

四、禁止用户终端登录

// 编辑 /etc/passwd

$ vi /etc/passwd

ftpu:x:1006:1004::/home/ftp_files/:/bin/sh

修改成

ftpu:x:1006:1004::/home/ftp_files/:/sbin/nologin

重启proftpd后ftp客户端提示无法连接:

-------------------------------

530 Login incorrect.

-------------------------------

经检查发现当前系统的shells列表中没有 /sbin/nologin

// 添加 /sbin/nologin 支持

$ vi /etc/shells

// 在该文档中添加一行

/sbin/nologin

五、重启proftpd,完成.

==========================================

如果ftp客户端上传失败的时候。请注意一下目录的权限