ftp

  1,安裝vsftpdyum -y install vsftpdsystemctl enable vsftpdsystemctl  start vsftpd  2,配置文件 /etc/vsftpd/vsftpd.conf     /var/ftp/pub/     共享目錄訪問方式:瀏覽器輸入ftp://IP(第一次如果訪問不了,重新啓動FTP服務器)  3,訪問: ftp IP   ---如果是匿名進來,也要輸入帳戶(anonymous)-- 不支持TAB           lftp IP  ---如果是匿名進來,不需要輸入帳戶---支持TABlinux ftp如何在登陸時指定用戶名密碼???ftp -nftp>open ftp服務器地址ftp>user 用戶名 密碼配置文件詳解:1.登錄和對匿名用戶的設置write_enable=YES               //是否對登錄用戶開啓寫權限。屬全局性設置。默認NOdownload_enable=NO      //禁止下載local_enable=YES               //是否允許本地用戶登錄FTP服務器。默認爲NOanonymous_enable=YES          //設置是否允許匿名用戶登錄FTP服務器。默認爲YESftp_username=ftp                //定義匿名用戶的賬戶名稱,默認值爲ftp。no_anon_password=YES             //匿名用戶登錄時是否詢問口令。設置爲YES,則不詢問。默 認NOanon_world_readable_only=YES   //匿名用戶是否允許下載可閱讀的文檔,默認爲YES。anon_upload_enable=YES      //是否允許匿名用戶上傳文件。只有在write_enable設置爲YES時,該配置項纔有效。而且匿名用戶對相應的目錄必須有寫權限。默認爲NO。anon_mkdir_write_enable=YES  //是否允許匿名用戶創建目錄。只有在write_enable設置爲    YES時有效。且匿名用戶對上層目錄有寫入的權限。默認爲NO。anon_other_write_enable=NO    //若設置爲YES,則匿名用戶會被允許擁有多於上傳和建立目錄的權限,還會擁有刪除和更名權限。默認值爲NO。2.設置歡迎信息用戶登錄FTP服務器成功後,服務器可向登錄用戶輸出預設置的歡迎信息。ftpd_banner=Welcome to my FTP server. //該配置項用於設置比較簡短的歡迎信息。若歡迎信息較多,則可使用banner_file配置項。banner_file=/etc/vsftpd/banner    //設置用戶登錄時,將要顯示輸出的文件。該設置項將覆蓋ftpd_banner的設置。dirmessage_enable=YES        //設置是否顯示目錄消息。若設置爲YES,則當用戶進入特定目錄(比如/var/ftp/linux)時,將顯示該目錄中的由message_file配置項指定的文件(.message)中的內容。message_file=.message          //設置目錄消息文件。可將顯示信息存入該文件。該文件需要放在 相應的目錄(比如/var/ftp/linux)下3.設置用戶登錄後所在的目錄(如果沒有指定,用戶無法登陸服務器)local_root=/var/ftp/            // 設置本地用戶登錄後所在的目錄。默認配置文件中沒有設置該項,此時用戶登錄FTP服務器後,所在的目錄爲該用戶的主目錄,對於root用戶,則爲/root目錄。anon_root=/var/ftp/          //設置匿名用戶登錄後所在的目錄。若未指定,默認爲/var/ftp/目錄。4.控制用戶是否允許切換到上級目錄        在默認配置下,用戶可以使用“cd..”命名切換到上級目錄。比如,若用戶登錄後所在的目錄爲/var/ftp,則在“ftp>”命令行下,執行“cd..”命令後,用戶將切換到其上級目錄/var,若繼續執行該命令,則可進入Linux系統的根目錄,從而可以對整個Linux的文件系統進行操作。若設置了write_enable=YES,則用戶還可對根目錄下的文件進行改寫操作,會給系統帶來極大的安全隱患,因此,必須防止用戶切換到Linux的根目錄,相關的配置項如下:chroot_list_enable=YES                   // 設置是否啓用chroot_list_file配置項指定的用戶列表文件。設置爲YES則除了列在/etc/vsftpd/chroot_list文件中的的帳號外,所有登錄的用戶都可以進入ftp根目錄之外的目錄。默認NOchroot_list_file=/etc/vsftpd/chroot_list        //  鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;chroot_local_user=YES                   //   是否鎖定本地系統帳號用戶主目錄,鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;注意:要對本地用戶查看效果,需先設置local_root=/var/ftp具體情況有以下幾種: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賬戶的主目錄,即文件的系統的/var/ftp目錄。5.設置訪問控制(1)設置允許或不允許訪問的主機(見TBP14)tcp_wrappers=YES用來設置vsftpd服務器是否與tcp wrapper相結合,進行主機的訪問控制。默認設置爲YES,vsftpd服務器會檢查/etc/hosts.allow和/etc/hosts.deny中的設置,以決定請求連接的主機是否允許訪問該FTP服務器。這兩個文件可以起到簡易的防火牆功能。比如,若要僅允許192.168.168.1~192.168.168.254的用戶,可以訪問連接vsftpd服務器,則可在/etc/hosts.allow文件中添加以下內容:vsftpd:192.168.168.0/255.255.255.0 :allowall:all:deny****************************************************************(2)設置允許或不允許訪問的用戶對用戶的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件來控制實現。相關配置命令如下:ftpusers不受任何配製項的影響,它是一個黑名單!:這是vsftpd服務在啓動後已經決定的,只要在這個列表裏面用戶都不能訪問FTP,沒有其它的開關可以控制, ftpusers和user_list沒有任何關係,它總是有效 ,user_list則取決於userlist_enable和userlist_deny兩項配置。vsftpd.conf中的userlist_enable和userlist_deny兩個配置項各自起什麼作用,兩者如何搭配使用?爲了說明這個問題,我們來建立兩個測試用戶:tom: 在user_list中jim:不在user_list中然後我們分別給兩個配置項取不同的值,分4種Case進行測試:Case 1: userlist_enable=YES, userlist_deny=YES

tom: 拒絕登入jim: 允許登錄

Case 2: userlist_enable=YES, userlist_deny=NO

tom: 允許登錄jim:拒絕登錄(如user_list文件開頭的註釋所述,甚至不會提示輸入密碼,即無登入提示框,直接拒絕連接)

Case 3: userlist_enable=NO,userlist_deny=NO

tom: 允許登錄jim: 允許登錄

Case 4: userlist_enable=NO,userlist_deny=YES

tom: 允許登錄jim: 允許登錄

綜上實驗得出以下結論:

  1. userlist_enable和userlist_deny兩個選項聯合起來針對的是:本地全體用戶(除去ftpusers中的用戶)和出現在user_list文件中的用戶以及不在在user_list文件中的用戶這三類用戶集合進行的設置。

  2. 當且僅當userlist_enable=YES時:userlist_deny項的配置纔有效,user_list文件纔會被使用;當其爲NO時,無論userlist_deny項爲何值都是無效的,本地全體用戶(除去ftpusers中的用戶)都可以登入FTP

  3. 當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:所有出現在名單中的用戶都會被拒絕登入;

  4. 當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出現在名單中的用戶纔會被准許登入(user_list之外的用戶都被拒絕登入);另外需要特別提醒的是:使用白名單後,匿名用戶將無法登入,不會提示輸入密碼,即無登入提示框,直接拒絕連接 !除非在user_list中加入一行:anonymous

***************************************************************6.設置訪問速度anon_max_rate=0      //設置匿名用戶所能使用的最大傳輸速度,單位爲b/s。若設置爲0,則不受速度限制,此爲默認值。local_max_rate=0      // 設置本地用戶所能使用的最大傳輸速度。默認爲0,不受限制。7.定義用戶配置文件  在vsftpd服務器中,不同用戶還可使用不同的配置,這要通過用戶配置文件來實現。  user_config_dir=/etc/vsftpd/userconf  //用於設置用戶配置文件所在的目錄。  設置了該配置項後,當用戶登錄FTP服務器時,系統就會到/etc/vsftpd/userconf目錄下讀取與當前用戶名相同的文件,並根據文件中的配置命令,對當前用戶進行更進一步的配置。比如,利用用戶配置文件,可實現對不同用戶進行訪問的速度進行控制,在各用戶配置文件中,定義local_max_rate配置,以決定該用戶允許的訪問速度。添加相應權限,防止用戶下載重命名使用cmds_allows命令配置,將不允許的命令(重命名,下載,刪除,創建文件夾)除去即可:只能下載、刪除、重命名。不能上傳。cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST只能上傳。不能下載、刪除、重命名。cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST主要命令解釋如下:


=====================最常用的,出去對應命令即可========================MKD - make a remote directory 新建文件夾NLST - name list of remote directoryPWD - print working directory 顯示當前工作目錄RETR - retrieve a remote file 下載文件STOR - store a file on the remote host 上傳文件DELE - delete a remote file 刪除文件、RMD - remove a remote directory 刪除目錄RNFR - rename from 重命名RNTO - rename to 重命名====================================================================ABOR - abort a file transfer 取消文件傳輸CWD - change working directory 更改目錄DELE - delete a remote file 刪除文件LIST - list remote files 列目錄MDTM - return the modification time of a file 返回文件的更新時間MKD - make a remote directory 新建文件夾NLST - name list of remote directoryPASS - send passwordPASV - enter passive modePORT - open a data port 打開一個傳輸端口PWD - print working directory 顯示當前工作目錄QUIT - terminate the connection 退出RETR - retrieve a remote file 下載文件RMD - remove a remote directoryRNFR - rename fromRNTO - rename toSITE - site-specific commandsSIZE - return the size of a file 返回文件大小STOR - store a file on the remote host 上傳文件TYPE - set transfer typeUSER - send username

8.與連接相關的設置listen=YES    vsftpd啓動後,默認的ftp端口是21,現在我想把ftp端口改成 801 ,修改後能保證用戶上傳下載不受影響1.編輯 /etc/vsftpd/vsftpd.conf 文件,在該配置文件中添加此行:listen_port=8012.編輯 /etc/services 文件,將其中的 ftp 21/tcp 改爲801ftp 801/tcpftp 801/udp3.執行 /etc/init.d/vsftpd restart 重新啓動 vsftpd 服務。啓動完成後可以使用 netstat -ntpl | grep vsftpd 命令可以查看到系統現監聽的 vsftpd 的端口爲 801   //設置vsftpd服務器是否以standalone模式運行。以standalone模式運行是一種較好的方式,此時listen必須設置爲YES,此爲默認值,建議不要更改。很多與服務器運行相關的配置命令,需要此運行模式纔有效。若設置爲NO,則vsftpd不是以獨立的服務運行,要受xinetd服務的管理控制,功能上會受限制。max_clients=0//設置vsftpd允許的最大連接數,默認爲0,表示不受限制。若設置爲150時,則同時允許有150個連接,超出的將拒絕建立連接。只有在以standalone模式運行時纔有效。max_per_ip=0// 設置每個IP地址允許與FTP服務器同時建立連接的數目。默認爲0,不受限制。通常可對此配置進行設置,防止同一個用戶建立太多的連接。只有在以standalone模式運行時纔有效。listen_address=IP地址       //設置在指定的IP地址上偵聽用戶的FTP請求。若不設置,則對服務器所綁定的所有IP地址進行偵聽。只有在以standalone模式運行時纔有效。對於只綁定了一個IP地址的服務器,不需要配置該項,默認情況下,配置文件中沒有該配置項。若服務器同時綁定了多個IP地址,則應通過該配置項,指定在哪個IP地址上提供FTP服務,即指定FTP服務器所使用的IP地址。注意:設置此值前後,可以通過netstat -tnl對比端口的監聽情況accept_timeout=60           //設置建立被動(PASV)數據連接的超時時間,單位爲秒,默認值爲60。connect_timeout=60   // PORT方式下建立數據連接的超時時間,單位爲秒。data_connection_timeout=300  //設置建立FTP數據連接的超時時間,默認爲300秒。idle_session_timeout=600     //設置多長時間不對FTP服務器進行任何操作,則斷開該FTP連接,單位爲秒,默認爲600秒。即設置發呆的逾時時間,在這個時間內,若沒有數據傳送或指令的輸入,則會強行斷開連接。pam_service_name=vsftpd    //設置在PAM所使用的名稱,默認值爲vsftpd。setproctitle_enable=NO|YES  //設置每個與FTP服務器的連接,是否以不同的進程表現出來,默認值爲NO,此時只有一個名爲vsftpd的進程。若設置爲YES,則每個連接都會有一個vsftpd進程,使用“ps -ef|grep ftp”命令可查看到詳細的FTP連接信息。安全起見,建議關閉。9.FTP工作方式與端口設置(1)FTP工作方式簡介       FTP的工作方式有兩種,一種是PORT FTP,另一種是PASV FTP。下面介紹其工作方式。  二者的區別在於PORT FTP的數據傳輸端口是由FTP服務器指定的,而PASV FTP則是由FTP客戶端指定的,而且每次數據連接所使用的端口號都不同。正因爲如此,所以在CuteFTP等FTP客戶端軟件中,其連接類型設置項中有PORT和PASV兩種選擇。       當FTP服務器設置爲PASV工作模式時,客戶端也必須設置爲PASV連接類型。若客戶端連接類型設置爲PORT,則能建立FTP連接,但在執行ls或get等需要數據請求的命令時,將會出現無響應並最終報告無法建立數據連接。(2)與端口相關的配置listen_port=21              // 設置FTP服務器建立連接所偵聽的端口,默認值爲21。connect_from_port_20=YES  // 默認值爲YES,指定FTP數據傳輸連接使用20端口。若設置爲NO,則進行數據連接時,所使用的端口由ftp_data_port指定。ftp_data_port=20          //設置PORT方式下FTP數據連接所使用的端口,默認值爲20。pasv_enable=YES|NO       //若設置爲YES,則使用PASV工作模式;若設置爲NO,使用PORT模式。默認爲YES,即使用PASV模式。pasv_max_port=0           //設置在PASV工作方式下,數據連接可以使用的端口範圍的上界。默認值爲0,表示任意端口。pasv_mim_port=0           //設置在PASV工作方式下,數據連接可以使用的端口範圍的下界。默認值爲0,表示任意端口。10.設置傳輸模式FTP在傳輸數據時,可使用二進制(Binary)方式,也可使用ASCII模式來上傳或下載數據。ascii_download_enable=YES  //設置是否啓用ASCII模式下載數據。默認爲NO。ascii_upload_enable=YES    //設置是否啓用ASCII模式上傳數據。默認爲NO。11.設置上傳文檔的所屬關係和權限(1)設置匿名上傳文檔的屬主chown_uploads=YES               //用於設置是否改變匿名用戶上傳的文檔的屬主。默認爲NO。若設置爲YES,則匿名用戶上傳的文檔的屬主將被設置爲chown_username配置項所設置的用戶名。chown_username=whoever    //設置匿名用戶上傳的文檔的屬主名。只有chown_uploads=YES時纔有效。建議不要設置爲root用戶。 但系統默root(2)新增文檔的權限設定local_umask=022           //設置本地用戶新增文檔的umask,默認爲022,對應的權限爲755。umask爲022,對應的二進制數爲000 010 010,將其取反爲111 101 101,轉換成十進制數,即爲權限值755,代表文檔的所有者(屬主)有讀寫執行權,所屬組有讀和執行權,其他用戶有讀和執行權。022適合於大多數情況,一般不需要更改。若設置爲077,則對應的權限爲700。anon_umask=022               //設置匿名用戶新增文檔的umask。默認077file_open_mode=0755          //設置上傳文檔的權限。權限採用數字格式。 默認066612.日誌文件xferlog_enable=YES             //是否啓用上傳/下載日誌記錄。默認爲NOxferlog_file=var/log/vsftpd.log  //設置日誌文件名及路徑。需啓用xferlog_enable選項xferlog_std_format=YES           //日誌文件是否使用標準的xferlog日誌文件格式(與wu-ftpd使用的格式相同) 。默認爲NO13.其他設置text_userdb_names=NO      //設置在執行ls命令時,是顯示UID、GID還是顯示出具體的用戶名或組名稱。默認爲NO,以UID和GID方式顯示,若希望顯示用戶名和組名稱,則設置爲YES。ls_recurse_enable=YES      //若設置爲YES,則允許執行“ls –R”這個命令,默認值爲NO。在配置文件中該配置項被註釋掉了,與此類似的還有一些配置,需要啓用時,將註釋符去掉並進行YES或NO的設置即可。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++解決windows訪問vsftpd時,客戶端中文亂碼問題!!!原因:vsftpd不能處理字符編碼的轉換,Windows使用GBK編碼,linux使用zh_CN.UTF-8編碼解決方法(Centos 7):首先安裝語言包:ghostscript-chinese-zh_CN.noarchyum -y install  ghostscript-chinese-zh_CN.noarchlocalectl  set-locale.GBK(全局更改GBK編碼)或者編輯 vim /etc/locale.confLANG=zh_CN.GBK重啓系統!!!!查詢當前linux系統語言localePS:如果是通過SSH連接到系統,也需要更改SSH終端的編碼結果:SSH終端顯示正常,windows客戶端顯示正常,但其實系統顯示還是亂碼。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&不能啓動FTP服務器問題!!!查看監聽是否開啓listen=YES是否有多個監聽IPv4和IPv6,如果有,刪除IPv6


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章