1. 程式人生 > >ubuntu啟動配置ftp服務端

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伺服器了,對不對?