新聞公告關注獲取即時動態
                < 返回

                Linux下搭建FTP服務器教程(vsftp)

                2020-11-06 18:13:47 來源:藍隊云 閱讀量:3444

                一、基本安裝

                1. 運行以下命令安裝 vsftpd。


                 image.png

                yum install -y vsftpd

                2.運行以下命令打開及查看etc/vsftpd

                cd /etc/vsftpd

                image.png

                說明:/etc/vsftpd/vsftpd.conf 是核心配置文件。/etc/vsftpd/ftpusers 是黑名單文件,此文件里的用戶不允許訪問 FTP 服務器。/etc/vsftpd/user_list  是白名單文件,是允許訪問 FTP 服務器的用戶列表。/etc/vsftpd/vsftpd_conf_migrate.sh  是vsftpd操作的一些變量和設置

                備注:使用命令 rpm -ql vsftpd  可列出vsftpd中包含的文件

                 

                3.運行以下命令設置開機自啟動。

                systemctl enable vsftpd

                4.運行以下命令啟動 FTP 服務。

                systemctl start vsftpd

                5.運行以下命令查看 FTP 服務端口。

                netstat -antup | grep ftp

                image.png 

                 

                6.配置本地用戶登錄本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 服務器。

                vsftpd 安裝后默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄服務器,將會被 vsftpd 拒絕,但可以在 vsftpd 里配置用戶賬號和密碼登錄。具體步驟如下:

                a. 運行以下命令創建 ftptest 用戶。

                useradd ftptest   (刪除用戶命令:sudo userdel -r newuser)

                b.運行以下命令修改 ftptest 用戶密碼。

                passwd ftptest

                 image.png

                 

                7.修改/etc/vsftpd/vsftpd.conf

                a. 運行vim /etc/vsftpd/vsftpd.conf。

                b. b.按鍵 “i” 進入編輯模式。

                c. c.將是否允許匿名登錄 FTP 的參數修改為anonymous enable=NO。

                d. d.將是否允許本地用戶登錄 FTP 的參數修改為local_enable=YES。

                e. e.按鍵 “Esc” 退出編輯模式,然后按鍵“:wq” 保存并退出文件。

                f. f.運行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件內容。

                 

                     如果啟動不了,關閉ipvp6監聽vim /etc/vsftpd/vsftpd.conf


                 

                二、基本配置

                完成vsftpd安裝后發現無法遠程連接,仍需要完成以下配置。

                原因分析:

                FTP連接方式分為:主動模式和被動模式。默認為被動模式。

                如果為被動模式,服務器端必須監聽至少一個額外的被動模式端口。

                所以,若只開通20和21端口是不夠的,需要另外配置入站端口。

                 

                備注參考信息:

                FTP的連接一般是有兩個連接的,一個是客戶程和服務器傳輸命令的,另一個是數據傳送的連接。FTP服務程序一般會支持兩種不同的模式,一種是Port模式,一種是Passive模式(Pasv Mode),我先說說這兩種不同模式連接方式的分別。先假設客戶端為C,服務端為S.Port模式:當客戶端C向服務端S連接后,使用的是Port模式,那么客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個端口N在等著你進行數據連接),當服務端S收到這個Port命令后 就會向客戶端打開的那個端口N進行連接,這種數據連接就生成了。Pasv模式:

                當客戶端C向服務端S連接后,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個端口M,你現在去連接我吧),當客戶端C收到這個信息后,就可以向服務端S的M端口進行連接,連接成功后,數據連接也建立了。

                 

                添加配置信息 修改配置文件 vim /etc/vsftpd/vsftpd.conf

                 

                解釋:8800/8899 為上面安全組添加的端口號pasv_enable=YES|NOYES,允許數據傳輸時使用PASV模式。NO,不允許使用PASV模式。默認值為YES。pasv_min_port=port number pasv_max_port=port number

                設定在PASV模式下,建立數據傳輸所可以使用port范圍的下界和上界,0 表示任意。默認值為0。把端口范圍設在比較高的一段范圍內,比如50000-60000,將有助于安全性的提高。

                完成以上配置,基本可以實現遠程連接FTP。

                 

                注意防火墻開放端口

                 

                配置完成記得重啟服務器systemctl restart vsftpd

                 image.png 

                三、配置 vsftpd 限制 FTP 賬戶訪問其它目錄

                 

                使用 vsftpd 搭建 FTP 服務,可以配置用戶登錄后,限制訪問其它的目錄,只能進它的主目錄。 配置方法如下:

                1、打開 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf  找到 chroot Chroot_local_user

                     設置所有的本地用戶都執行 chroot chroot_local_user=yes (本地所有帳戶都只能在自家目錄) 

                2、設置指定用戶執行 chroot

                      找到并修改 chroot_list_enable=yes 

                3、chroot_list_file=/ 任意指定的路徑 /chroot_list (文件中的名單可以調用)注意:vsftpd.chroot_list 是沒有創建的需要自己創建。若不想限制個別用戶,將用戶名添加到vsftpd.chroot_list文件中,每個用戶名一行。

                 

                 四、創建用戶

                useradd -s /sbin/nologin -d /home/test test

                 

                "-s /sbin/nologin":指定該用戶無法使用bash或其他shell來登陸系統,僅用于ftp連接

                "-d /home/test":指定該用戶的ftp目錄

                 

                如服務無法啟動systemctl restart vsftpd.service

                設置selinux

                需要設置selinux后才能訪問FTP服務器:

                setsebool -P ftp_home_dir 1 setsebool -P allow_ftpd_full_access 1

                 

                -P表示設定該項目永久套用

                查看selinux的ftp配置是否成功:

                 

                getsebool -a |grep ftp

                 

                "ftp_home_dir","ftpd_full_access"參數都為"on"表示配置成功

                image.png 

                 

                 


                在线岛国爱片免费观看,无码AV岛国片在线观看,国产+高清+无码+中文,成年大片免费视频播放