說明:
1、原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/
2、今天要做一個網絡日志的遷移程序,搬文件的話,想來想去還是用FTP吧。對這一塊不是太熟悉,所以就上網搜索一下。先上百度試了試(就試試),結果搜出來的中文資料沒一個靠譜的。遂Google了一下,瞬間搞定。翻譯這篇文章為了讓大家不再踩坑。以下為原文翻譯:
FTP用于通過TCP網絡從一臺主機向另外一臺主機傳送文件。這篇文章解說了怎樣在ubuntu 14.04上安裝FTP服務器。流行的FTP服務器端軟件有:PureFTP,VsFTPD,ProFTPD。這里我采用輕量并且坑少的VSFTPD。
在Ubuntu 14.04 上安裝 FTP 服務
第一步>>更新庫
krizna@leela:~$ sudo apt-get update
第二步>>采用如下命令安裝VSFTPD的包
krizna@leela:~$ 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服務
krizna@leela:~$ sudo service vsftpd restart
第五步>>現在ftp服務器正在監聽21端口。用如下命令創建用戶。用 /usr/sbin/nologin 腳本來阻止ftp用戶訪問bash腳本。
krizna@leela:~$ sudo useradd -m john -s /usr/sbin/nologin krizna@leela:~$ 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。如果還沒裝的話,執行如下命令。
krizna@leela:~$ sudo apt-get install openssh-server
第七步>> 為FTP用戶創建一個新的用戶組 ftpaccess。
krizna@leela:~$ 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服務
krizna@leela:~$ sudo service ssh restart
第十步>>下面幾步用來創建訪問SFTP服務的用戶。
創建用戶john,屬于 ftpaccess 組并且執行 /usr/bin/nologin 腳本
krizna@leela:~$ sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin krizna@leela:~$ sudo passwd johnChange ownership for the home directory. krizna@leela:~$ sudo chown root /home/john
在home文件夾創建一個用于寫入文件的文件夾并修改文件夾的所有者。
krizna@leela:~$ sudo mkdir /home/john/www krizna@leela:~$ sudo chown john:ftpaccess /home/john/www
現在用SFTP試著連接服務器(端口:22),并確保用戶可以往 www 文件夾上傳文件,而且也不能訪問 home文件夾以外的文件。
如果你想讓FTP和SFTP并存,在創建用戶時按照上面的第十步操作就行。對于已經存在的用戶,可以像下面這樣把他們移動到ftpaccess組,創建文件夾結構并修改所有權。
krizna@leela:~$ sudo usermod john -g ftpaccess -s /usr/sbin/nologin krizna@leela:~$ sudo chown root /home/john krizna@leela:~$ sudo mkdir /home/john/www krizna@leela:~$ sudo chown john:ftpaccess /home/john/www
現在你可以通過FTP,也可以通過SFTP向 www文件夾上傳文件了。
文章列表