文章出處

說明:

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文件夾之外的文件夾。

setup FTP server ubuntu 14.04
需要特別說明一下的是,在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文件夾以外的文件。

setup FTP server ubuntu 14.04

如果你想讓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文件夾上傳文件了。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()