华为ECS云服务器 Ubuntu 安装和配置FTP教程
- *匿名登錄:不需要用戶密碼
- *本地用戶:使用本地用戶和密碼登入
- *虛擬用戶:也是使用用戶和密碼登入,但是該用戶不是linux中創建的用戶
- 控制連接:標準端口為21,用于發送FTP命令信息。
- 數據連接:標準端口為20,用于上傳、下載數據。
- 主動模式:服務端從20端口主動向客戶端發起連接。
- 被動模式:服務端在指定范圍內的某個端口被動等待客戶端發起連接。
- 文本模式:ASCII模式,以文本序列傳輸數據。
- 二進制模式:Binary模式,以二進制序列(比特流)傳輸數據。
- 安裝:apt-get install vsftpd
- 啟動:service vsftpd restart? 或者 service vsftpd start
- 查詢:service vsftpd status
- 停止:service vsftpd stop
- 服務器放行規則設定:打開20-21 3000-3050(我配置的是3000-3050)
- ?
六、配置文件說明
#一旦監聽,進入standalone模式,與此相對的是inetd(inetd或xinetd)模式 listen=YES #?是否監聽ipv6,如果監聽則需要另外再配置一個文件 listen_ipv6=NO #是否允許匿名訪問ftp anonymous_enable=YES #是否允許本地用戶登錄,指linux存在的用戶,cat /etc/passwd?可以查看哪些用戶,標準的七字段,默認NO local_enable=YES #?是否對登錄用戶開啟寫權限。屬全局性設置。默認NO write_enable=YES #本地登錄用戶權限,022-umask=755,即代表文檔的所有者(屬主)有讀寫執行權,所屬組有讀和執行權,其他用戶有讀和執行權 local_umask=022 #是否允許匿名用戶上傳文件。只有在write_enable設置為YES時,該配置項才有效。而且匿名用戶對相應的目錄必須有寫權限。默認為NO。 #anon_upload_enable=YES #是否允許匿名用戶創建目錄。只有在write_enable設置為????YES時有效。且匿名用戶對上層目錄有寫入的權限。默認為NO。 #anon_mkdir_write_enable=YES #設置是否顯示目錄消息 dirmessage_enable=YES #顯示時間 use_localtime=YES #是否啟用上傳和下載日志 xferlog_enable=YES #默認值為YES,指定FTP數據傳輸連接使用20端口。若設置為NO,則進行數據連接時,所使用的端口由ftp_data_port指定。 connect_from_port_20=YES#設置匿名上傳文檔的屬主,默認為NO。若設置為YES,則匿名用戶上傳的文檔的屬主將被設置為chown_username配置項所設置的用戶名。 #chown_uploads=YES #設置匿名用戶上傳的文檔的屬主名。只有chown_uploads=YES時才有效。建議不要設置為root用戶。 但系統默root #chown_username=whoever #默認的系統日志,設置日志文件名及路徑。需啟用xferlog_enable選項 xferlog_file=/var/log/vsftpd.log#日志文件是否使用標準的xferlog日志文件格式(與wu-ftpd使用的格式相同) 。默認為NO xferlog_std_format=YES #設置多長時間不對FTP服務器進行任何操作,則斷開該FTP連接,單位為秒,默認為600秒。即設置發呆的逾時時間,在這個時間內,若沒有數據傳送或指令的輸入,則會強行斷開連接。 idle_session_timeout=600 #設置建立FTP數據連接的超時時間,默認為300秒 data_connection_timeout=120# # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES#設置是否啟用ASCII模式上傳、下載數據。默認為NO。 #ascii_upload_enable=YES #ascii_download_enable=YES#連接FTP的歡迎提示 ftpd_banner=Welcome to Jack??FTP service. # #指定不允許通過郵箱登錄的文件,可以抵御DoS攻擊。 #deny_email_enable=YES #郵箱文件 #banned_email_file=/etc/vsftpd.banned_emails# 控制用戶是否允許切換到上級目錄 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list allow_writeable_chroot=YES #1)當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list文件中列出的用戶,可以切換到上級目錄;未在文件中列出的用戶,不能切換到站點根目錄的上級目錄。 #2)當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list文件中列出的用戶,不能切換到站點根目錄的上級目錄;未在文件中列出的用戶,可以切換到上級目錄。 #3)當chroot_list_enable=NO,chroot_local_user=YES時,所有用戶均不能切換到上級目錄。 #4)當chroot_list_enable=NO,chroot_local_user=NO時,所有用戶均可以切換到上級目錄。 #5)當用戶不允許切換到上級目錄時,登錄后FTP站點的根目錄“/”是該FTP賬戶的主目錄,即文件的系統的/srv/ftp目錄。#被動模式下的設置,設置公網IP,和接收請求IP與端口,這里指定了服務器端口3000-3050用于發起到客戶端連接,端口設置為0,則表示任意端口 pasv_address=XXX.XXX.XXX.XXX pasv_min_port=3000 pasv_max_port=3050 #默認采用被動模式 #pasv_enable=NO # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES ## This option should be the name of a directory which is empty.??Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd/empty # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO# Uncomment this to indicate that vsftpd use a utf8 filesystem. utf8_filesystem=YES#################end#######################其他說明:
#定義匿名用戶的賬戶名稱,默認值為ftp。 ftp_username=ftp? ? ? ? ? ? #匿名用戶是否允許下載可閱讀的文檔,默認為YES。 anon_world_readable_only=YES #設置本地用戶登錄后所在的目錄。默認配置文件中沒有設置該項,此時用戶登錄FTP服務器后,所在的目錄為該用戶的主目錄,對于root用戶,則為/root目錄。 local_root=/var/ftp????????????? #設置匿名用戶登錄后所在的目錄。若未指定,則默認為/srv/ftp目錄。 anon_root=/srv/ftp???????????? #設置匿名用戶所能使用的最大傳輸速度,單位為b/s。若設置為0,則不受速度限制,此為默認值。 anon_max_rate=0??????? #設置本地用戶所能使用的最大傳輸速度。默認為0,不受限制。 local_max_rate=0???????#對用戶的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件來控制實現。相關配置命令如下: userlist_enable=YES??? #決定/etc/vsftpd/user_list文件是否啟用生效。YES則生效,NO不生效。 userlist_deny=YES??????? #決定/etc/vsftpd/user_list文件中的用戶是允許訪問還是不允許訪問。 #若設置為YES,則/etc/vsftpd/user_list 文件中的用戶將不允許訪問FTP服務器;若設置為NO,則只有vsftpd.user_list文件中的用戶,才能訪問FTP服務器。#設置vsftpd允許的最大連接數,默認為0,表示不受限制。若設置為150時,則同時允許有150個連接,超出的將拒絕建立連接。只有在以standalone模式運行時才有效。 max_per_ip=0 #設置每個IP地址允許與FTP服務器同時建立連接的數目。默認為0,不受限制。通常可對此配置進行設置,防止同一個用戶建立太多的連接。只有在以standalone模式運行時才有效 max_clients=0 #設置在指定的IP地址上偵聽用戶的FTP請求。若不設置,則對服務器所綁定的所有IP地址進行偵聽。只有在以standalone模式運行時才有效。 對于只綁定了一個IP地址的服務器,不需要配置該項,默認情況下,配置文件中沒有該配置項。若服務器同時綁定了多個IP地址,則應通過該配置項,指定在哪 個IP地址上提供FTP服務,即指定FTP服務器所使用的IP地址。 listen_address=IP地址????????七、遇到的問題及解決
外網服務器搭建FTP?出現的問題及解決: (1)227 Entering Passive Mode 解決方法第一種就是配置為主動模式。 vim?etc/vsftpd/vsftpd.conf ? ? ##Vsftpd主配置文件 添加:pasv_enable=NO 注意的是:瀏覽器訪問只支持FTP的被動模式,也就是說只有在FTP配置成被動模式時,才能在遠程瀏覽器里通過url訪問 第二種解決方法 指定公網ip?用listen_address. 八、其他默認情況下,匿名用戶所有上傳下載,所使用的用戶都是ftp用戶的權限,若要上傳文件,則需要ftp用戶有寫的權限,若要下載,則需要ftp用戶有讀的權限,也就是說一般情況下,ftp用戶對文件有讀權限就對文件有下載權限了。
九、創建用戶和密碼 (1) 創建一個名叫ftpu的用戶,并指定他的根目錄為/home/ftpdir useradd -d /home/ftpdir/?-s /bin/bash ftpu(2)設置密碼
passwd?ftpu(3)查看
cat /etc/passwd十、xinetd運行模式和 standalone模式
像其它守護程序一樣,vsftpd提供了standalone和inetd(inetd或xinetd)兩種運行模式。簡單解釋一下, standalone一次性啟動,運行期間一直駐留在內存中,優點是對接入信號反應快,缺點是損耗了一定的系統資源,因此經常應用于對實時反應要求較高的 專業FTP服務器。inetd恰恰相反,由于只在外部連接發送請求時才調用FTP進程,因此不適合應用在同時連接數量較多的系統。此外,inetd模式不 占用系統資源。除了反應速度和占用資源兩方面的影響外,vsftpd還提供了一些額外的高級功能,如inetd模式支持per_IP(單一IP)限制,而 standalone模式則更有利于PAM驗證功能的應用。
1.xinetd運行模式 大多數較新的系統采用的是xinetd超級服務守護進程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的內容,如下: disable = no? socket_type = stream wait = no # 這表示設備是激活的,它正在使用標準的TCP Sockets。 # 如果“/etc/vsftpd.conf”中的有選項為“listen=YES”,注銷它 最后,重啟xinetd,命令如下: $ /etc/rc.d/init.d/xinetd restart #需要注意的是,“/etc/xinetd.d”目錄中僅能開啟一個FTP服務。2.standalone模式
standalone模式便于實現PAM驗證功能。進入這種模式首先要關閉xinetd下的vsftpd,設置“disable = yes”,或者注銷掉“/etc/inetd.conf”中相應的行。然后修改“/etc/vsftpd.conf”中的選項為“listen=YES”。
如果是standlone模式,那么它是作為單獨的一個服務啟動的,不需要系統協作,不作為系統服務,如果要是成為xinetd模式,那么它的服務就要受系統服務的限制,比如創建一個新的服務進程,但是也有缺點,如果xinetd服務本身出了問題,那么相關的服務也是會受到影響的。
十一、參考資料 https://www.cnblogs.com/xiaojwang/p/10102668.html https://www.cnblogs.com/tuteng/articles/2953034.html總結
以上是生活随笔為你收集整理的华为ECS云服务器 Ubuntu 安装和配置FTP教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python json dumps ut
- 下一篇: ubuntu18.04安装pycharm