2010年11月23日

ubuntu vsftpd 無法刪除目錄

學生主機使用 ubuntu + vsftpd 來提供個人 FTP 網路空間。

本學期讓學生用 Drupal 架站,一直遇到 FileZilla 無法刪除部份目錄的問題,神奇的是,其他班級的授課老師及學生都沒有反應相同的問題,觀看 /var/log/vsftpd.log , /var/log/messages 記錄檔,也沒相關的訊息,真是頭疼,還好只是自己上課的班級有此情形。
/var/log/vsftpd.log
--- FAIL RMDIR: Client ---
由於已排除權限相關問題,且並非所有目錄都無法刪,問 Google 也找不到相似的情形。

經過一連串的測試,最後終於找到原因!就是 Drupal 部份模組資料夾裡有 .DS_Store 隱藏檔,難怪無法刪除目錄!

奇的是,FileZilla 表示,理論上會顯示所有 . 開頭的隱藏檔,實際上還是隱藏了,雖然 FileZilla 有提供「伺服器 > 強制顯示隱藏檔案」的功能,但要使用者手動去切換,這樣不人性化,只好從 FTP Server 上著手。

問了男人 (man) 有關 vsftpd.conf 的相關設定,找到了以下說明:
force_dot_files
If activated, files and directories starting with . will be
shown in directory listings even if the "a" flag was not used by
the client. This override excludes the "." and ".." entries.

Default: NO
於是乎,在 /etc/vsftpd.conf 裡加上
force_dot_files=YES
重啟 vsftpd 後,呼!終於正常了!

沒有留言: