今天要作一個網絡日誌的遷移程序,搬文件的話,想來想去仍是用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