ubuntu啟動配置ftp服務端
ubuntu16.04安裝啟動ftp
sudo apt-get install vsftpd
ftp的配置檔案在
/etc/vsftpd.conf
可以使用下列命令來開啟,關閉,重啟ftp服務
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart
使用下列命令,可以看到系統中多了ftp使用者組和ftp使用者
cat /etc/group
cat /etc/passwd
ftp伺服器的目錄位置在 /srv/ftp, 這也是匿名使用者訪問時的根目錄。
在瀏覽器中輸入ftp://192.168.2.238
會彈出如下介面,輸入本機的賬號密碼,可以登入,不過這種方式登入的根目錄為該使用者的根目錄,也就是home/luanpeng/目錄
這個表明已經開啟了ftp服務,但是未開啟匿名登入。
修改配置檔案
編輯/etc/vsftpd.conf檔案:
// 允許匿名使用者登入 anonymous_enable=YES // 允許本地使用者登入 local_enable=YES // 開啟全域性上傳 write_enable=YES // 允許匿名使用者上傳檔案 anon_upload_enable=YES // 充許匿名使用者新建資料夾 anon_mkdir_write_enable=YES //修改vsftpd的預設根目錄 local_root=/media/ftp/pub chroot_local_user=YES anon_root=/var/www/html/
local_root 表示本地使用者登入後的根目錄,也就是非匿名,而是輸入使用者名稱和密碼登入進入的,這裡順便說一下ftp登入的格式 ftp://username:[email protected]
anon_root anonymous使用者,即匿名使用者訪問的主目錄
但是這時候可能會出現以下報錯:
[[email protected] pub]# lftp localhost lftp localhost:~> ls ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable anonymous root 原因還是許可權設定問題: 是ftp預設主目錄許可權設定不對,我這裡報這個錯誤是因為/media/ftp設定許可權為777,/media/ftp/pub設定許可權也為777。正確的許可權設定是將/media/ftp許可權設定為755,chmod 755 /media/ftp後重啟ftp服務就ok了。
另: 如果你是預設的ftp目錄出現此問題,那一定是這個/home/ftp的許可權不對所致,這個目錄的許可權是不能開啟所有許可權的;是您運行了chmod 777 /home/ftp所致;如果沒有ftp使用者這個家目錄,當然您要自己建一個;
如下FTP使用者的家目錄是不能針對所有使用者、使用者組、其它使用者組完全開放; [[email protected] ~]# ls -ld /home/ftp drwxrwxrwx 3 root root 4096 2005-03-23 /home/ftp
修正這個錯誤,應該用下面的辦法; [[email protected] ~]# chown root:root /home/ftp [[email protected] ~]# chmod 755 /home/ftp
有的弟兄可能會說,那匿名使用者的可讀、可下載、可上傳怎麼辦呢?這也簡單,在/home/ftp下再建一個目錄,許可權是777的就行了,再改一改vsftpd.conf就OK了;沒有什麼難的;
vsFTPd出於安全考慮,是不準讓ftp使用者的家目錄的許可權是完全沒有限制的,您可以去讀一下vsFTPd的文件就明白的了;否則也不能稱為最安全的FTP伺服器了,對不對?