vsftpd的安裝

簡介

  vsftpd是一個免費的開源的ftp服務器軟件;

特點

  小巧輕快,安全易用,支持虛擬用戶、支持帶寬限制等功能;

安裝

  執行 yum -y install vsftpd

創建虛擬用戶(注意權限問題(chmod),這個要根據情況來定)

  • 選擇在根或用戶目錄下創建ftp文件夾:mkdir ftpfile,如:/ftpfile
  • 添加匿名用戶:useradd ftpuser -d /ftpfile/ -s /sbin/nologin
  • 修改ftpfile權限:chown -R ftpuser.ftpuser /ftpfile (-R 表示遍歷)
  • 重設ftpuser密碼:passwd ftpuser

在 /ftpfile下創建index.html文件(歡迎頁)

配置

  在 /etc/vsftpd 下創建chroot_list文件,再把新增的虛擬用戶添加到此配置文件中,后面要引用;

  更改安全配置文件(/etc/selinux/config),修改為SELINUX=disabled? (匿名用戶可以創建目錄,防止出現550拒絕訪問錯誤)? ,執行setenforce 0 ,使之生效。

  注意:如果驗證時出現550請執行:setsebool -P ftp_home_dir 1

  下一步,重啟linux服務器,執行reboot命令

  下面重點配置 /etc/vsftpd/vsftpd.conf ? :

?本項目要用到的配置項:
1)local_root=/ftpfile(當本地用戶登入時,將被更換到定義的目錄下,默認值為各用戶的家目錄)?
2)anon_root=/ftpfile(使用匿名登入時,所登入的目錄)?
3)use_localtime=YES(默認是GMT時間,改成使用本機系統時間)
4)anonymous_enable=NO(不允許匿名用戶登錄)
5)local_enable=YES(允許本地用戶登錄)
6)write_enable=YES(本地用戶可以在自己家目錄中進行讀寫操作)
7)local_umask=022(本地用戶新增檔案時的umask值)
8)dirmessage_enable=YES(如果啟動這個選項,那么使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,如果有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值為開啟)
9)xferlog_enable=YES(是否啟用上傳/下載日志記錄。如果啟用,則上傳與下載的信息將被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。)
10)connect_from_port_20=YES(指定FTP使用20端口進行數據傳輸,默認值為YES)
11)xferlog_std_format=YES(如果啟用,則日志文件將會寫成xferlog的標準格式)
12)ftpd_banner=Welcome to mmall FTP Server(這里用來定義歡迎話語的字符串)
13)chroot_local_user=NO(用于指定用戶列表文件中的用戶是否允許切換到上級目錄)
14)chroot_list_enable=YES(設置是否啟用chroot_list_file配置項指定的用戶列表文件)
15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用戶列表文件)
16)listen=YES(設置vsftpd服務器是否以standalone模式運行,以standalone模式運行是一種較好的方式,此時listen必須設置為YES,此為默認值。建議不要更改,有很多與服務器運行相關的配置命令,需要在此模式下才有效,若設置為NO,則vsftpd不是以獨立的服務運行,要受到xinetd服務的管控,功能上會受到限制)
17)pam_service_name=vsftpd(虛擬用戶使用PAM認證方式,這里是設置PAM使用的名稱,默認即可,與/etc/pam.d/vsftpd對應) userlist_enable=YES(是否啟用vsftpd.user_list文件,黑名單,白名單都可以
18)pasv_min_port=61001(被動模式使用端口范圍最小值)
19)pasv_max_port=62000(被動模式使用端口范圍最大值)
20)pasv_enable=YES(pasv_enable=YES/NO(YES)
若設置為YES,則使用PASV工作模式;若設置為NO,則使用PORT模式。默認值為YES,即使用PASV工作模式。
?? FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
?? 一、PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。?
??當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴服務器:“我打開了****端口,你過來連接我”。于是服務器從20端口向客戶端的****端口發送連接請求,建立一條數據鏈路來傳送數據。
?? 二、PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。?
??當需要傳送數據時,服務器在命令鏈路上用 PASV命令告訴客戶端:“我打開了****端口,你過來連接我”。于是客戶端向服務器的****端口發送連接請求,建立一條數據鏈路來傳送數據。?
??從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在于此。

?防火墻配置(如果是云服務器則不需要以下配置,云服務器(esc)沒有防火墻)

  • 編輯 /etc/sysconfig/iptables? :

  -A INPUT -p TCP --dport 61001:62000 -j ACCEPT

  -A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT

  -A INPUT -p TCP --dport 20 -j ACCEPT

  -A OUTPUT -p TCP --sport 20 -j ACCEPT

  -A INPUT -p TCP --dport 21 -j ACCEPT

  -A OUTPUT -p TCP --sport 21 -j ACCEPT

  將以上配置添加到防火墻配置中;

  然后,重啟防火墻:service iptables restart

  注意:

  重啟防火墻出現Applying firewall rules: iptables-restore: line 17 failed,可能是因為配置文件iptables中的COMMIT沒有放在最后一行

  第一次啟動vsftpd時Shutting down vsftpd是failed不用理會,只要保證Starting vsftpd是OK即代 表vsftpd服務成功。

?

  打開瀏覽器訪問:ftp://ip地址  輸入賬號和密碼登陸;

  vsftpd常用命令:service vsftpd restart/stop/start (重啟,關閉,啟動)

  

?

轉載于:https://www.cnblogs.com/feixian-blog/p/8606288.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252161.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252161.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252161.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

halcon模板匹配測試流程

*1、創建模板(獲取要做模板區域的圖像) *create_shape_model (ImageReduced, 4, 0, rad(360), rad(1), none, use_polarity, 30, 10, ModelID) *2、獲取形狀模型---第二步(為了顯示找的的模板) *get_shape_model_contours (…

企業云存儲:為什么中大型企業偏愛自建私有云?

“上云?我們通常自建企業私有云。”9102年了,在云存儲服務的選擇上,中大型企業基本步調一致,統籌規劃自建企業私有云。為什么中大型企業都偏愛自建企業私有云?一、長久的成本考量從賬面上看,通常私有云初期…

ETL作業調度軟件TASKCTL自定義擴展作業類型插件安裝

TASKCTL批量自動化調度作業類型擴展插件的安裝方法如下幾種: 1、 直接覆蓋法 直接覆蓋法的意思就是將自定義擴展好的插件,通常是一個shell腳本,上傳至后臺調度核心服務上,然后修改后臺任務類型的XML元素配置文件即可。 注意&#…

遞歸就這么簡單

遞歸介紹 本來預算此章節是繼續寫快速排序的,然而編寫快速排序往往是遞歸來寫的,并且遞歸可能不是那么好理解,于是就有了這篇文章。 在上面提到了遞歸這么一個詞,遞歸在程序語言中簡單的理解是:方法自己調用自己 遞歸其…

阿里云RPA(機器人流程自動化)干貨系列之二:認識RPA(下)

2019獨角獸企業重金招聘Python工程師標準>>> 導讀:本文是阿里云RPA(機器人流程自動化)干貨系列之二,主要介紹了RPA的發展齊納經和主要使用場景有哪些,目前國內外主流的RPA廠商以及RPA的未來在哪。 一、RPA的…

C# 圖片的讀取

//圖片轉成二進制public byte[] GetPictureData(string imagepath){/**/根據圖片文件的路徑使用文件流打開,并保存為byte[] FileStream FileStream new FileStream(imagepath, FileMode.Open);byte[] byData new byte[FileStream.Length];FileStream.Read(byData,…

SDOI2010 地精部落

題目描述 傳說很久以前,大地上居住著一種神秘的生物:地精。 地精喜歡住在連綿不絕的山脈中。具體地說,一座長度為N的山脈H可分為從左到右的N段,每段有一個[b][u]獨一無二[/u][/b]的高度Hi,其中Hi是1到N之間的正整數。 …

Codechef Yet another cute girl

題意大概就是讓你求一下[L,R]中的約數個數是素數的數的個數。 其中1<L<R<1e12,R-L<1e6. 然后我寫了兩種做法&#xff0c;第一種是可以直接搞出來L-R的約數個數&#xff0c;然后直接統計一下就好了。 這個的復雜度大致是 O((R-L) * log(R-L)) 第二種就是需要先發現滿…

簡單弄一個-個人主頁

--- 整理一下已經發表的文章 JAVA基礎 java基礎數據結構之-紅黑樹(插入)java基礎數據結構之-紅黑樹(刪除)了解一下jdk動態代理的本質了解一下cglib動態代理的本質SpringBoot源碼解析 前言&#xff1a;閱讀springboot源碼之前&#xff0c;最好對spring源碼有一定的了解&#xff…

Halocn OCR識別入門學習

一、建立OCR庫 dev_close_window() read_image(Image,OCR) get_image_size(Image,Width,Hight) dev_open_window(0,0,Width,Hight,black,Window) dev_display(Image)*字符處理 rgb1_to_gray(Image,ImageGray) *鼠標畫你要找的roi區域 draw_rectangle1(Window,Row1,Column1,Row…

ctsc2009 移民站選址

分析&#xff1a;非常非常好的一道題&#xff01; 首先需要對問題進行轉化&#xff1a; 行列無關&#xff0c;對于行單獨處理&#xff0c;對于列單獨處理必然存在一個最優方案使得每一個新站與舊站重合.轉化1很顯然&#xff0c;對于轉化2&#xff0c;是一類非常經典的“中位數問…

Jenkins 安裝與使用--實例

參考了博客Jenkins master在windows上安裝 Jenkins的主要功能是監視反復工作的運行&#xff0c;比如軟件project的構建詳細地&#xff1a; *軟件的持續構建和測試 本質上提供了一個易于使用的持續集成系統。使得開發者更easy地將改變集成到project中。使得用戶更easy獲得一個…

后端項目搭建技術棧

Koa2&#xff1a;koa-bodyparser koa-router koa-session koa-corsTypeScript數據庫&#xff1a;Mysql &#xff08;庫&#xff1a;Sequelize&#xff09;表單驗證庫&#xff1a;Joi

C# 實體類幾種深拷貝的方法——解決關于對象賦值,A=B,A改變,B也改變問題

幾種常見的深拷貝方式 1、利用反射實現 public static T DeepCopyByReflection<T>(T obj) {   if (obj is string || obj.GetType().IsValueType)   return obj; object retval Activator.CreateInstance(obj.GetType());   FieldInfo[] fields obj.GetType().…

Hadoop學習之路(九)HDFS深入理解

HDFS的優點和缺點 HDFS的優點 1、可構建在廉價機器上 通過多副本提高可靠性&#xff0c;提供了容錯和恢復機制 服務器節點的宕機是常態 必須理性對象 2、高容錯性 數據自動保存多個副本&#xff0c;副本丟失后&#xff0c;自動恢復 HDFS的核心設計思想&#xff1a; 分散均勻…

關于Unity中的聲音管理模塊(專題七)

聲音的要素 1: 音頻文件AudioClip2: 音源AudioSource;3: 耳朵AudioListener;//全局只能有一個4: 2D/3D音頻;//2D只是簡單地播放聲音&#xff0c;3D可以根據距離衰減音量 怎樣聽到聲音&#xff1a; 創建一個節點&#xff0c;掛載AudioSource組件&#xff0c;AudioSource組件關聯…

重啟唯一的窗體實例,以及調用系統重啟函數失敗解決辦法

1、修改Program.cs內的程序啟動函數 static class Program{public static System.Threading.Mutex Instance;/// <summary>/// 應用程序的主入口點。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTe…

ThreadLocal可能引起的內存泄露

threadlocal里面使用了一個存在弱引用的map,當釋放掉threadlocal的強引用以后,map里面的value卻沒有被回收.而這塊value永遠不會被訪問到了. 所以存在著內存泄露. 最好的做法是將調用threadlocal的remove方法. 在threadlocal的生命周期中,都存在這些引用. 看下圖: 實線代表強引…

codevs 1576 最長嚴格上升子序列

題目鏈接&#xff1a;http://codevs.cn/problem/1576/題目描述 Description給一個數組a1, a2 ... an&#xff0c;找到最長的上升降子序列ab1<ab2< .. <abk&#xff0c;其中b1<b2<..bk。 輸出長度即可。 輸入描述 Input Description第一行&#xff0c;一個整數N。…

nginx服務器開啟緩存、反向代理

一、反向代理配置 1、反向代理服務器配置如下 反向代理就是需要這一行proxy_pass來完成。當我們要訪問后端web服務器的時候&#xff0c;我們只需要訪問代理服務器就可以了&#xff0c;此時代理服務器就充當后端web服務器的角色。proxy_pass依賴的模塊是&#xff1a; 至于后兩行…