阿里云服务器搭建FTP技术总结

FTP是File Transfer Protocol(文件传输协议),FTP的端口一般为21。


实现步骤:
(1)打开服务器的21端口(FTP端口)以及所有TCP端口。因为客户端和服务器每次建立连接时,都会使用任意一个TCP端口作为临时的socket。
(2)安装vsftpd:

sudo apt-get update
sudo apt-get install vsftpd

(3)新建一个文件夹作为FTP的工作目录,并新建FTP用户。通常使用一个独立的用户进行FTP服务,涉及安全问题。
mkdir /home/username(创建用户,其中username是随意的用户名)
sudo useradd username -g ftp -d /home/username -m username(添加用户)
(useradd -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users)
(useradd -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>)
(useradd -m:自动建立用户的登入目录)
sudo passwd username(设置用户密码)
mkdir /home/username/pub(新建一个pub目录用于存放文件)
chmod 777 -R /home/username/pub(赋予全部访问权限)
(chmod -R:对目前目录下的所有档案与子目录进行相同的权限变更)
usermod -s /sbin/nologin username(限制用户username只能通过ftp登陆,而不能直接登陆服务器)
新建/etc/vsftpd.chroot_list,并将username放进去,一个用户一行。
(4)配置vsftpd.conf(难点),以下简单列举几个,关于具体的配置请移步官方文档。

vi /etc/vsftpd.conf
  • listen=NO
  • anonymous_enable=NO(拒绝匿名登陆)
  • write_enable=YES(可以上传文件)
  • connect_from_port_20=YES(绑定20端口)
  • chroot_local_user=YES
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd.chroot_list
    (上面三条配置实现的功能是:用户限制在自己的主目录下,用户名单来源于/etc/vsftpd.chroot_list)
    (5)启动vsftpd服务
sudo service vsftpd start
sudo service vsftpd restart
sudo service vsftpd stop

参考资料:
chmod 权限 命令详细用法:https://www.cnblogs.com/lhm166/articles/6605059.html
linux命令useradd添加用户详解:https://www.cnblogs.com/irisrain/p/4324593.html
ubuntu16.04搭建ftp服务器:https://www.cnblogs.com/YangJieCheng/p/8252577.html

你可能感兴趣的:(阿里云服务器搭建FTP技术总结)