在Ubuntu 14.04 上安裝 FTP 服務shell
第一步>>更新庫安全
sudo apt-get update
第二步>>採用以下命令安裝VSFTPD的包bash
sudo apt-get install vsftpd
第三步>>安裝完成後打開 /etc/vsftpd.conf 文件,按以下所述修改。服務器
取消以下行的註釋(行號爲29和33)ssh
write_enable=YES local_umask=022
>> 取消以下行的註釋(行號120)來阻止除了用戶文件夾意外的文件夾。rest
chroot_local_user=YES
在文件最後增長以下一行:code
allow_writeable_chroot=YES
>>添加以下行開啓消極模式server
pasv_enable=Yes pasv_min_port=40000 pasv_max_port=40100
第四步>>用以下命令重啓vsftpd服務get
sudo service vsftpd restart
第五步>>如今ftp服務器正在監聽21端口。用以下命令建立用戶。用 /usr/sbin/nologin 腳原本阻止ftp用戶訪問bash腳本。it
sudo useradd -m ftpuser -s /usr/sbin/nologin sudo passwd ftpuser
第六步>>開啓nologin腳本的開機訪問。打開 /etc/shells 並把以下行添加進去。
/usr/sbin/nologin
如今試着用剛建立的用戶經過21端口鏈接ftp服務器。
至此ftp搭建完成,下面介紹下sftp的搭建
##################################################
須要特別說明一下的是,在21端口上使用ftp是很是危險的。強烈建議使用SFTP。請看下面的SFTP的配置。
安全的FTP(SFTP)
SFTP稱做「安全的FTP」,它使用ssh文件傳輸協議。因此咱們須要安裝openssh-server。若是還沒裝的話,執行以下命令。
sudo apt-get install openssh-server
第七步>> 爲FTP用戶建立一個新的用戶組 ftpaccess。
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服務
sudo service ssh restart
第十步>>下面幾步用來建立訪問SFTP服務的用戶。
建立用戶sftpuser,屬於 ftpaccess 組而且執行 /usr/bin/nologin 腳本
sudo useradd -m sftpuser-g ftpaccess -s /usr/sbin/nologin sudo passwd sftpuser sudo chown root /home/sftpuser
在home文件夾建立一個用於寫入文件的文件夾並修改文件夾的全部者。
sudo mkdir /home/sftpuser/www sudo chown sftpuser:ftpaccess /home/sftpuser/www
如今用SFTP試着鏈接服務器(端口:22),並確保用戶能夠往 www 文件夾上傳文件,並且也不能訪問 home文件夾之外的文件。
若是你想讓FTP和SFTP並存,在建立用戶時按照上面的第十步操做就行。對於已經存在的用戶,能夠像下面這樣把他們移動到ftpaccess組,建立文件夾結構並修改全部權。
sudo usermod ftpuser -g ftpaccess -s /usr/sbin/nologin sudo chown root /home/ftpuser sudo mkdir /home/ftpuser/www sudo chown ftpuser:ftpaccess /home/ftpuser/www