在Ubuntu 14.04上安装搭建FTP服务器详解

今天要做一个网络日志的迁移程序,搬文件的话,想来想去还是用FTP吧。FTP用于通过TCP网络从一台主机向另外一台主机传送文件。这篇文章解说了怎样在Ubuntu 14.04上安装FTP服务器。流行的FTP服务器端软件有:PureFTP,VsFTPD,ProFTPD。这里我采用轻量并且坑少的VsFTPd。


在Ubuntu 14.04 上安装 FTP 服务


第一步>>更新库


linuxidc@linuxidc:~$ sudo apt-get update


第二步>>采用如下命令安装VSFTPD的包


linuxidc@linuxidc:~$ sudo apt-get install vsftpd


第三步>>安装完成后打开 /etc/vsftpd.conf 文件,按如下所述修改。


取消如下行的注释(行号为29和33)


write_enable=YES
local_umask=022


>> 取消如下行的注释(行号120)来阻止除了用户文件夹意外的文件夹。


chroot_local_user=YES


在文件最后增加如下一行:


allow_writeable_chroot=YES


>>添加如下行开启消极模式


pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=40100


第四步>>用如下命令重启vsftpd服务


linuxidc@linuxidc:~$ sudo service vsftpd restart


第五步>>现在ftp服务器正在监听21端口。用如下命令创建用户。用 /usr/sbin/nologin 脚本来阻止ftp用户访问bash脚本。


linuxidc@linuxidc:~$ sudo useradd -m john -s /usr/sbin/nologin
linuxidc@linuxidc:~$ sudo passwd john


第六步>>开启nologin脚本的开机访问。打开 /etc/shells 并把如下行添加进去。


/usr/sbin/nologin


现在试着用刚创建的用户通过21端口连接ftp服务器。客户端采用 winscp 或 filezilla  。验证用户是不是真的不能访问home文件夹之外的文件夹。


在Ubuntu 14.04上安装FTP服务器详解


需要特别说明一下的是,在21端口上使用ftp是非常危险的。强烈建议使用SFTP。请看下面的SFTP的配置。


安全的FTP(SFTP)


SFTP称作“安全的FTP”,它使用ssh文件传输协议。所以我们需要安装openssh-server。如果还没装的话,执行如下命令。


linuxidc@linuxidc:~$ sudo apt-get install openssh-server


第七步>> 为FTP用户创建一个新的用户组 ftpaccess。


linuxidc@linuxidc:~$ sudo groupadd ftpaccess


第八步>>在 /etc/ssh/sshd_config 中做如下修改


>>找到并注释掉下面一行


Subsystem sftp /usr/lib/openssh/sftp-server


在文件的最后增加如下行


Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp


第九步>>重启sshd服务


linuxidc@linuxidc:~$ sudo service ssh restart


第十步>>下面几步用来创建访问SFTP服务的用户。


创建用户john,属于 ftpaccess 组并且执行 /usr/bin/nologin 脚本


linuxidc@linuxidc:~$ sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin
linuxidc@linuxidc:~$ sudo passwd johnChange ownership for the home directory.
linuxidc@linuxidc:~$ sudo chown root /home/john


在home文件夹创建一个用于写入文件的文件夹并修改文件夹的所有者。


linuxidc@linuxidc:~$ sudo mkdir /home/john/www
linuxidc@linuxidc:~$ sudo chown john:ftpaccess /home/john/www


现在用SFTP试着连接服务器(端口:22),并确保用户可以往 www 文件夹上传文件,而且也不能访问 home文件夹以外的文件。


在Ubuntu 14.04上安装搭建FTP服务器详解


如果你想让FTP和SFTP并存,在创建用户时按照上面的第十步操作就行。对于已经存在的用户,可以像下面这样把他们移动到ftpaccess组,创建文件夹结构并修改所有权。


linuxidc@linuxidc:~$ sudo usermod john -g ftpaccess -s /usr/sbin/nologin
linuxidc@linuxidc:~$ sudo chown root /home/john
linuxidc@linuxidc:~$ sudo mkdir /home/john/www
linuxidc@linuxidc:~$ sudo chown john:ftpaccess /home/john/www


现在你可以通过FTP,也可以通过SFTP向 www文件夹上传文件了。


玩转vsftpd服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm


vsFTPd配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm


Ubuntu实用简单的FTP架设 http://www.linuxidc.com/Linux/2012-02/55346.htm


Ubuntu 上架设FTP服务器和Apache服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm


Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm


RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm


Linux系统vsftpd源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm


openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd  http://www.linuxidc.com/Linux/2014-12/110070.htm


更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2


本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129057.htm


本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2016-03/129057.htm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值