Linux下FTP服务器搭建
1 所需工具
操作系统: ubuntu 16.04 FTP服务器: vsftpd FTP常规模式(Normal mode): xinetd
2 安装
安装vsftpd: sudo apt-get install vsftpd
安装完成后,启动下,看是否成功:
如上图,启动没问题,说明已成功安装vsftpd。
安装xinetd: sudo apt-get install xinetd
因为我已经安装过了,所以不会再去下载安装。
3 配置
3.1 vsftpd的访问配置:
用vim打开vsftpd的配置文件:sudo vim /etc/vsftpd.conf
按i键修改配置:
将 listen=YES 和 listen_ipv6=YES 改为 NO,因为我们将用xinetd来管理vsftpd。 anonymous_enable=YES 即是否允许匿名访问。 这里主要注意 write_enable,默认是注释掉的并且值为NO。这里代打开注释,将值设为YES,表示可以允许授权用户进行写操作。write_enable值设为YES后,我们就可以用FTP客户端传输文件到FTP服务器了。
3.2 xinetd的配置:
在/etc文件夹下创建文件夹xinetd.d
sudo mkdir xinetd.d
跳到/etc/xinetd.d/下创建文件vsftpd
vim vsftpd
然后加入以下内容:
其中no_access是要阻塞的主机,根据实际情况设置。 设置好后,按Esc键,键入:wq退出vim。 停止vstpd服务:
sudo service vsftpd stop
现在我们就可一启动FTP服务器的Normal模式:
4 文件传输前的权限配置
在远程服务器上创建文件夹(这里是file):
然后将文件夹的权限付给ftp用户,这里是ubuntu:
sudo chown -R ubuntu file
sudo chmod -R 777 file
到这里,设置基本完成了,接下来检验下能不能传文件,来验证FTP服务器是否搭建成功。
5 文件传输
5.1 ftp命令
在本机用ftp命令连接远程FTP服务器:
输入用户名和密码后,我们成功登录了FTP服务器。 如果登录失败: 530 Login incorrect. Login failed. 将 /etc/vsftpd.conf 下键值pam_service_name=vsftpd 改为pam_service_name=ftp. 用ls命令查看FTP根目录:
我们可以看到我们创建的file文件夹。我们接下来用file文件夹存放要上传的文件。用put命令上传文件:
把本地名为test001.txt的文件成功地上传到了远程服务器上。 用ssh看下文件内容:
再看看本地的文件内容:
两边内容一致,说明FTP服务器可以正常工作了!!!
5.2 nautilus文件管理器
我们可以用linux自带的文件管理器nautilus来作为FTP客户端。 用nautilus的connect to server连接远程FTP服务器:
连接成功后,和用ftp命令一样,打开了ftp的根目录,我们可以查看file文件夹下刚刚上传上去的文件:
用nautilus,就可以像在本地一样管理远程FTP服务器的文件了。
6. 参考文档
How to setup and use FTP Server in Ubuntu Linux