第 1 頁 (共 1 頁)
[Azure]如何在VM上起FTP並且能對外服務
發表於 : 2013年 4月 25日, 12:29
由 tim
在 windows azure 雲端服務上, 起一個 VM執行 centos 作業系統, 並安裝好 vsftpd 來服務客戶端, 需要以下設定:
1. 在端點建立 tcp 21 的對外服務
2. 在端點建立 tcp 1300, tcp1301 的對外服務(應用在 pasv mode 下, 將該 dynamic port 指定下來, 可選其他自定義 port)
3. 在 /etc/vsftpd/vsftpd.conf 中, 設定以下:
代碼: 選擇全部
pasv_enable=YES
pasv_min_port=1300
pasv_max_port=1301
pasv_addr_resolve=YES
pasv_address=[yourt machine name].cloudapp.net
其中的 min, max 是讓 pasv mode 的 port 固定下來, 而 pasv_addr_resolve=YES 及 pasv_address=xxx.cloudapp.net 主要就是用來讓該主機將自己的對外名稱做一解析後回復客戶端, 進而能進行連線, 這樣就能完成這個 vm 裡執行可供對外服務的 ftp service 了!
參考資料:
http://serverfault.com/questions/439900 ... ftpd-linux
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2013年 4月 30日, 11:28
由 tim
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2013年 4月 30日, 12:23
由 tim
若有一些寫入問題及錯誤訊息, 可能是 SELinux 造成, 可以利用以下利指調整:
代碼: 選擇全部
setsebool ftp_home_dir 1
代碼: 選擇全部
setsebool allow_ftpd_full_access 1
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2013年 4月 30日, 12:42
由 tim
注意根目錄限制方式, 避免用戶會往上層:
http://www.neo.com.tw/archives/919
代碼: 選擇全部
chroot_local_user=YES
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2014年 1月 2日, 14:12
由 tim
重起起動 vsftpd 服務:
參考這篇:
http://www.centos.org/docs/5/html/Deplo ... start.html
代碼: 選擇全部
/sbin/service vsftpd start
/sbin/service vsftpd stop
/sbin/service vsftpd restart
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2014年 6月 1日, 09:54
由 tim
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2015年 4月 24日, 16:49
由 tim
vsftpd.conf 中的幾個參數:
listen=NO 要改為 YES
listen_ipv6=YES 要註解掉, 才不會有 pasv 的 ip 錯誤
其他新增如下:
pasv_enable=YES
listen_port=21212
pasv_min_port=21213
pasv_max_port=21217
pasv_addr_resolve=YES
pasv_address=[your server public domain name]
guest_enable=YES
guest_username=apache
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf (your virtual user config folder)
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2016年 6月 20日, 14:53
由 tim
Re: [Azure]如何在VM上起FTP並且能對外服務
發表於 : 2017年 1月 11日, 17:03
由 tim
若是 vsftpd 3.0 版本起, 使用了
chroot_local_user=YES
會有無法存取的錯誤:
需要調整 user 參數如下:
#write_enable=YES (原本 2.2 版本用)
allow_writeable_chroot=YES (3.0版本起用)