配置FTP服務

一、FTP簡介

FTP 是File Transfer Protocol (文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算上運行着FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。
小公司用的多,大企業不用FTP ,因爲不安全。

二、使用vsftpd搭建FTP服務

1、安裝vsftpd

[root@zlinux ~]# yum install -y vsftpd

2、建立帳號

vsftpd可以使用系統級別的用戶進行登錄,但是這樣做不安全,所以需要使用vsftpd創建一個虛擬用戶。在此創建一個系統普通用戶的作用是使vsftpd的虛擬用戶來進行映射,然後完成數據的傳輸。

 [root@zlinux ~]# useradd virftp -s /sbin/nologin 
[root@zlinux ~]# vim /etc/vsftpd/vsftpd_login            //建立與虛擬賬戶相關的文件,並添加以下內容

test1
123456
test2
abcdef

#奇數行爲用戶名,偶數行爲用戶密碼。

[root@zlinux ~]# chmod 600 /etc/vsftpd/vsftpd_login                     //更改權限,提升安全性
[root@zlinux ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db    //vsftpd密碼文件不是明文的,需要生成對應的庫文件
[root@zlinux ~]# ls -l /etc/vsftpd/              //查看是否生成了.db文件
總用量 36
-rw-------. 1 root root   125 8月   3 2017 ftpusers
-rw-------. 1 root root   361 8月   3 2017 user_list
-rw-------. 1 root root  5030 8月   3 2017 vsftpd.conf
-rwxr--r--. 1 root root   338 8月   3 2017 vsftpd_conf_migrate.sh
-rw-------. 1 root root    26 3月  27 18:15 vsftpd_login
-rw-r--r--. 1 root root 12288 3月  27 18:18 vsftpd_login.db
[root@zlinux ~]# mkdir /etc/vsftpd/vsftpd_user_conf      //創建與虛擬帳號相關的目錄

3、創建和用戶對應的配置文件

[root@zlinux ~]# cd /etc/vsftpd/vsftpd_user_conf/
[root@zlinux vsftpd_user_conf]# vim test1    //添加如下內容

local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=No
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10

參數含義:

local_root :定義虛擬用戶的家目錄
anonymous_enable :是否允許匿名用戶
write_enable:是否允許可寫
local_umask:定義創建新的文件和目錄權限
anon_upload_enable:是否允許匿名用戶可上傳
anon_mkdir_write_enable:是否允許匿名用戶可創建目錄、可寫
idle_session_timeout:設置連接空閒時間超時(上傳或下載文件後,空閒時間,定義多少時間斷開連接。單位s)
data_connection_timeout:數據傳輸的超時時間(單位:s)
max_clients:定義最大的客戶端數

4、創建虛擬用戶家目錄以及密碼文件

[root@zlinux ~]# mkdir /home/virftp/test1
[root@zlinux ~]# touch /home/virftp/test1/zlinux.txt
[root@zlinux ~]# chown -R virftp:virftp /home/virftp/
[root@zlinux ~]# vim /etc/pam.d/vsftpd               //添加兩行以下,定義虛擬用戶的密碼文件位置
#兩行內容要加在#%PAM這行下面,否則後面會出錯
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5、編輯vsftpd主配置文件

[root@zlinux ~]# vim /etc/vsftpd/vsftpd.conf             //修改

#改成以下內容
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
#配置末尾添加以下內容

chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES 
#定義定義虛擬用戶
user_config_dir=/etc/vsftpd/vsftpd_user_conf 
#定義虛擬用戶配置文件所在的路徑

6、啓動服務並驗證

[root@zlinux ~]# systemctl start vsftpd     //啓動vsftpd服務
[root@zlinux ~]# ps aux |grep vsftpd
root       2448  0.0  0.0  53216   572 ?        Ss   18:44   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       2450  0.0  0.0 112680   976 pts/0    R+   18:44   0:00 grep --color=auto vsftpd
[root@zlinux ~]# netstat -lntp |grep vsftp
tcp6       0      0 :::21                   :::*                    LISTEN      2448/vsftpd 
[root@zlinux ~]# yum install -y lftp                   //安裝lftp客戶端軟件
[root@zlinux ~]# lftp [email protected]
口令: 
lftp [email protected]:~> ls          
-rw-r--r--    1 1002     1002            0 Mar 27 10:30 zlinux.txt

這一步很多人會出錯,請檢查/var/log/secure日誌,通常會記錄一些錯誤信息。

三、使用xftp傳輸文件

下載xftp軟件
安裝xftp軟件
剛開始運行,關閉掉xftp軟件。
需要先登錄xshell 5。
打開 Ctrl + Alt + F 組合鍵,自動關聯xftp軟件。

四、使用pure-ftpd搭建FTP服務

使用pure-ftpd搭建ftp,比較輕量、簡單。

1、安裝並配置pure-ftpd

[root@zlinux ~]# yum install -y pure-ftpd
[root@zlinux ~]# vim /etc/pure-ftpd/pure-ftpd.conf
#找到這行,刪除前面#號
# PureDB                        /etc/pure-ftpd/pureftpd.pdb
[root@zlinux ~]# systemctl stop vsftpd            //停止vsftpd服務
[root@zlinux ~]# systemctl start pure-ftpd        //啓動pure-ftpd服務
[root@zlinux ~]# ps aux | grep pure-ftpd
root       2800  0.0  0.0 202424  1200 ?        Ss   19:19   0:00 pure-ftpd (SERVER)

2、建立賬號並測試

[root@zlinux ~]# mkdir /data/ftp/             //創建目錄
[root@zlinux ~]# useradd -u 1010 pure-ftp        //創建系統用戶
[root@zlinux ~]# chown -R pure-ftp:pure-ftp /data/ftp/
[root@zlinux ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp/                         //創建虛擬帳號
Password: 
Enter it again: 
[root@zlinux ~]# pure-pw mkdb      //創建用戶信息數據庫文件,關鍵步驟
[root@zlinux ~]# touch /data/ftp/zlinux.txt
[root@zlinux ~]# lftp ftp_usera@localhost              //測試
口令: 
lftp ftp_usera@localhost:~> ls      
drwxr-xr-x    2 1010       pure-ftp           24 Mar 27 19:27 .
drwxr-xr-x    2 1010       pure-ftp           24 Mar 27 19:27 ..
-rw-r--r--    1 0          0                   0 Mar 27 19:27 zlinux.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章