今天要作一个网络日志的迁移程序,搬文件的话,想来想去仍是用FTP吧。FTP用于经过TCP网络从一台主机向另一台主机传送文件。这篇文章解说了怎样在Ubuntu 14.04上安装FTP服务器。流行的FTP服务器端软件有:PureFTP,VsFTPD,ProFTPD。这里我采用轻量而且坑少的VsFTPd。php
在Ubuntu 14.04 上安装 FTP 服务linux
第一步>>更新库shell
linuxidc@linuxidc:~$ sudo apt-get update安全
第二步>>采用以下命令安装VSFTPD的包bash
linuxidc@linuxidc:~$ sudo apt-get install vsftpd服务器
第三步>>安装完成后打开 /etc/vsftpd.conf 文件,按以下所述修改。网络
取消以下行的注释(行号为29和33)ssh
write_enable=YES
local_umask=022spa
>> 取消以下行的注释(行号120)来阻止除了用户文件夹意外的文件夹。.net
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文件夹以外的文件夹。
须要特别说明一下的是,在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文件夹之外的文件。
若是你想让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