Ubuntu16.04系統中配置FTP
本文基于Linux的Ubuntu系統安裝FTP,Linux系統的使用者名為peng, 主機名為ubuntu
- 1. 下載下傳和安裝FTP
- 2. 配置FTP
- 3. 浏覽器中測試以及錯誤解決
1. 下載下傳和安裝FTP
peng@ubuntu:~$ sudo apt-get install vsftpd
2. 配置FTP
- 1)設定FTP登入密碼(使用者名預設為系統使用者名,比如這裡為peng):
peng@ubuntu:~$ sudo passwd ftp
- 2)修改vsftp的配置檔案:
peng@ubuntu:~$ sudo gedit /etc/vsftpd.conf
将配置檔案中”anonymous_enable=YES “改為 “anonymous_enable=NO”(是否允許匿名ftp,若不允許選NO),并且取消如下配置前的注釋符号:
local_enable=YES(是否允許本地使用者登入)
write_enable=YES(是否允許本地使用者寫的權限)
再取消如下配置前的注釋符号:
chroot_local_user=YES(是否将所有使用者限制在主目錄)
chroot_list_enable=YES(是否啟動限制使用者的名單)
chroot_list_file=/etc/vsftpd.chroot_list(可在檔案中設定多個賬号)
Vsftpd的預設端口為21, 若21已被占用可更換端口号,如在該配置檔案中添加: listen_port=2121,即可監聽2121端口
- 3) 重新開機FTP服務:
peng@ubuntu:~$ sudo service vsftpd restart
3. 浏覽器中測試以及錯誤解決
FTP伺服器已經安裝和配置好,我們可以再浏覽器中輸入ftp://localhost測試一下是否配置成功。登入使用者名可以為一個普通使用者如peng, 也可以用root登入, 但是用root登入時會出現如下一些錯誤(按出現的先後順序):
- 錯誤1: 530 login incorrect
錯誤原因: root使用者出現在了ftp服務的黑名單中。
解決方法:從/etc/ftpusers檔案中注釋掉root這一行:
peng@ubuntu:~$ sudo gedit /etc/ftpusers
- 錯誤2: 500 OPPS:could not read chroot() list file : /etc/vsftpd.chroot_list
錯誤原因: 在etc檔案夾中沒有vsftpd.chroot_list檔案。
解決方法:在etc檔案夾中建立一個名為vsftpd.chroot_list的檔案(隻需建立,不需要寫内容):
peng@ubuntu:~$ cd /etc
peng@ubuntu:/etc$ sudo touch vsftpd.chroot_list
- 錯誤3: 500 OPPS:vsftpd : refusing to run with writable root inside chroot()
錯誤原因:chroot不可寫。
解決方法:在配置檔案/etc/vsftpd.conf中結尾加入一行:allow_writeable_chroot=YES
修改完後重新開機ftp服務:
peng@ubuntu:~$ sudo service vsftpd restart
至此,再在浏覽器中登入,就沒有錯誤出現了,預設的FTP打開的目錄為該使用者下的/Home檔案夾:
在本地機上登入時輸入:ftp://localhost; 在其他主機的浏覽器上登入時輸入: ftp://ip位址:ftp端口号 或者 ftp://域名:ftp端口号 (端口号不寫預設為21)。打開界面和上圖完全一樣。