日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解“FTP文件传输服务”安装配置实例

發(fā)布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解“FTP文件传输服务”安装配置实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

“FTP文件傳輸服務(wù)”安裝配置實例

?

家住海邊喜歡浪:zhang789.blog.51cto.com

目錄

  • 簡介

  • ftp工作原理

  • 常見的FTP服務(wù)

  • Vsftpd服務(wù)器的安裝

  • Vsftpd.conf配置文件詳解

  • 配置FTP服務(wù)器實例

      • 實例:配置匿名用戶

      • 實例:配置本地用戶登錄

      • 實例:配置虛擬用戶登錄(MySQL認證)

      • 實例:控制用戶登錄

      • 實例:設(shè)置歡迎信息

分析vsftpd日志管理

FTP服務(wù)器配置與管理

簡介

FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應(yīng)用程序(Application)。基于不同的操作系統(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議以傳輸文件。

互聯(lián)網(wǎng)上提供文件存儲和訪問服務(wù)的計算機,他們依照的是FTP協(xié)議提供服務(wù)!支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器!FTP協(xié)議提供存儲和傳輸服務(wù)的一套協(xié)議!

下載"(Download)和"上傳"(Upload)。”下載”文件就是從遠程主機拷貝文件至自己的計算機上;”上傳”文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。

ftp工作原理

ftp采用客戶端/服務(wù)端的工作模式(C/S結(jié)構(gòu)),通過TCP協(xié)議建立客戶端和服務(wù)器之間的連接,但與其他大多數(shù)應(yīng)用協(xié)議不同,FTP協(xié)議在客戶端和服務(wù)端之間建立了兩條通信鏈路,分別是控制鏈路和數(shù)據(jù)鏈路,其中,控制鏈路負責(zé)FTP會話過程中FTP命令的發(fā)送和接收,數(shù)據(jù)鏈路則負責(zé)數(shù)據(jù)的傳輸

FTP會話包含了兩個通道,控制通道和數(shù)據(jù)通道,FTP的工作有兩種方式,一種是主動模式,一種是被動模式,以FTPServer為參照物,主動模式,服務(wù)器主動連接客戶端傳輸,被動模式,等待客戶端的的連接?
(無論是主動模式還是被動模式,首先的控制通道都是先建立起來的,只是在數(shù)據(jù)傳輸模式上的區(qū)別)

主動模式

工作的原理: FTP客戶端連接到FTP服務(wù)器的21端口,發(fā)送用戶名和密碼,客戶端隨機開放一個端口(1024以上),發(fā)送 PORT命令到FTP服務(wù)器,告訴服務(wù)器客戶端采用主動模式并開放端口;FTP服務(wù)器收到PORT主動模式命令和端口號后,通過服務(wù)器的20端口和客戶端開放的端口連接,發(fā)送數(shù)據(jù),原理如下圖:

被動模式

PASV是Passive的縮寫,中文成為被動模式,工作原理:FTP客戶端連接到FTP服務(wù)器的21端口,發(fā)送用戶名和密碼,發(fā)送PASV命令到FTP服務(wù)器, 服務(wù)器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務(wù)器開放的端口進行數(shù)據(jù)傳輸,原理如下圖:


工作端口和模式

20號端口:數(shù)據(jù)傳輸端口 ftp-data?
21號端口:指令傳輸端口

數(shù)據(jù)傳輸原理: FTP的傳輸有兩種方式:ASCII、二進制。

ASCII傳輸方式

假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當(dāng)文件傳輸時ftp通常會自動地調(diào)整文件的內(nèi)容以便于把文件解釋成另外那臺計算機存儲文本文件的格式。?
但是常常有這樣的情況,用戶正在傳輸?shù)奈募牟皇俏谋疚募?#xff0c;它們可能是程序,數(shù)據(jù)庫,字處理文件或者壓縮文件。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝。

二進制傳輸模式

在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應(yīng)的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執(zhí)行文件到Windows系統(tǒng),在對方系統(tǒng)上,此文件不能執(zhí)行。?
如在ASCII方式下傳輸二進制文件,即使不需要也仍會轉(zhuǎn)譯。這會損壞數(shù)據(jù)。(ASCII方式一般假設(shè)每一字符的第一有效位無意義,因為ASCII字符組合不使用它。如果傳輸二進制文件,所有的位都是重要的。)

常見的FTP服務(wù)

Windows下:Serv-U FTP Server?
Linux下有代表性的FTP服務(wù)器軟件是Wu-FTP、ProFTP?及vsftpd。Wu-FTP(Washington University FTP)是由美國華盛頓大學(xué)開發(fā)的、以效率和穩(wěn)定性為參考量的FTP軟件。它的功能強大,配置較復(fù)雜,由于開發(fā)時間較早,應(yīng)用十分廣泛,也因此成為***們主要的***目標。Wu-FTP的早期各級版本不斷出現(xiàn)安全漏洞,系統(tǒng)管理員不得不因安全因素而經(jīng)常對其進行升級。ProFTP針對Wu-FTP的弱項而開發(fā),除了在安全性方面進行了改進外,還具備設(shè)置簡單的特點,并提供了一些Wu-FTP沒有的功能,大大簡化了架設(shè)和管理FTP服務(wù)器的工作。vsftpd?則憑借在安全性方面的出色表現(xiàn),被很多大型網(wǎng)站廣為采用。

Vsftpd服務(wù)器的安裝

軟件包

vsftpd-2.2.2-11.el6_4.1.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? //服務(wù)端軟件包 ?
ftp-0.17-54.el6.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//客戶端軟件包
lftp-4.0.9-1.el6.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? ? ? ? //類似ftp的客戶端軟件包,具有增強功能

1、安裝vsftpd軟件

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

2、相關(guān)配置文件

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers ?user_list ?vsftpd.conf ?vsftpd_conf_migrate.sh
/etc/vsftpd/vsftpd.conf ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //主配置文件,核心配置文件
/etc
/vsftpd/ftpusers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//黑名單,這個里面的用戶不允許訪問FTP服務(wù)器
/etc
/vsftpd/user_list ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //白名單,允許訪問FTP服務(wù)器的用戶列表

3、啟動服務(wù)

服務(wù)啟動與關(guān)閉
[root@localhost vsftpd]# chkconfig vsftpd on
[root@localhost vsftpd]# service vsftpd start
Starting vsftpd for vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]
[root@localhost vsftpd]# netstat -antup | grep ftp
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:21 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?2579/vsftpd ? ? ? ?
tcp ? ? ? ?0 ? ? ?0 10.1.252.97:21 ? ? ? ? ? ? ?10.1.250.64:54777 ? ? ? ? ? ESTABLISHED 2582/vsftpd

Vsftpd.conf配置文件詳解

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
#################用戶登陸控制##############
anonymous_enable=YES ? ? ? ? ? ? ? ? ? ? ? ?#接受匿名用戶
no_anon_password=YES ? ? ? ? ? ? ? ? ? ? ? ?#匿名用戶login時不詢問口令  
anon_root=(none) ? ? ? ? ? ? ? ? ? ? ? ? ? ? #匿名用戶主目錄  
local_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ? #接受本地用戶
local_root=(none) ? ? ? ? ? ? ? ? ? ? ? ? ? ? #本地用戶主目錄 ? ? ? ? ? ? ? ? ? ? ? ?
deny_email_enable=YES ? #如果匿名用戶需要密碼,那么使用banned_email_file里面的電子郵件地址的用戶不能登錄
check_shell=YES ? ? ? ? ? ? ? ? ? ? ? ? ?#僅在沒有pam驗證版本時有用,是否檢查用戶有一個有效的shell來登錄
userlist_enable=YES ? ? ? ? ? ? ? ? ? ? ?#若啟用此選項,userlist_deny選項才被啟動
userlist_deny=NO ? ?#若為YES,則userlist_file中的用戶將不能登錄,為NO則只有userlist_file的用戶可以登錄
#如果和chroot_local_user一起開啟,那么用戶鎖定的目錄來自/etc/passwd每個用戶指定的目錄
passwd_chroot_enable=NO ? ? ? ? ? ? ? ? #切換目錄密碼支持
ftp_username=FTP ? ?  ? ? ? ? ? ? ? ? ? ? #定義匿名登入的使用者名稱。默認值為ftp。
#################用戶權(quán)限控制###############
write_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#可以上傳(全局控制).
local_umask=022 ? ? ? ? ? ? ? ? ? ? ? ? #本地用戶上傳文件的umask
file_open_mode=0666 ? ? ? ? ? ? ? ? ? ? #上傳文件的權(quán)限配合umask使用
anon_upload_enable=NO ? ? ? ? ? ? ? ? ? #匿名用戶可以上傳
anon_mkdir_write_enable=NO ? ? ? ? ? ? ?#匿名用戶可以建目錄
anon_other_write_enable=NO ? ? ? ? ? ? ?#匿名用戶修改刪除
anon_world_readable_only=YES ? ? ? ? ? ?#如果設(shè)為YES,匿名登入者會被允許下載可閱讀的檔案。默認值為YES。
#guest_enable=NO ? ? ? ? ? ? ? ?#如果開啟,那么所有非匿名登陸的用戶名都會被切換成guest_username指定的用戶名
chown_uploads=YES ? ? ? ? ? ? ? ? ? ? ? ? ? #所有匿名上傳的文件的所屬用戶將會被更改成chown_username
chown_username=lightwiter ? ? ? ? ? ? ? #匿名上傳文件所屬用戶名
chroot_list_enable=YES ? ? ? ? ?#如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改根目錄
async_abor_enable=YES ? ? ? ? ? ? ? ? ? #允許使用"async ABOR"命令,一般不用
ascii_upload_enable=YES ? ? ? ? ? ? ? ? #使用ASSCII上傳
ascii_download_enable=YES ? ? ? ? ? ? ? #用ASCII 模式下載
secure_chroot_dir=/usr/share/empty ? ? ?#這個選項必須指定一個空的數(shù)據(jù)夾且任何登入者都不能有寫入的權(quán)限,當(dāng)
vsftpd不需要file system 的權(quán)限時,就會將使用者限制在此數(shù)據(jù)夾中 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
默認值為/usr/share/empty
###################超時設(shè)置##################
idle_session_timeout=600 ? ? ? ? ? ? ? ? ? ?#空閑連接超時
data_connection_timeout=120 ? ? ? ? ? ? #數(shù)據(jù)傳輸超時
ACCEPT_TIMEOUT=60 ? ? ? ? ? ? ? ? ? ? ? ? ? #PAVS請求超時
connect_timeout=60 ? ? ? ? ? ? ? ? ? ? ?#PROT模式連接超時
################服務(wù)器功能選項###############
xferlog_enable=YES ? ? ? ? ? ? ? ? ? ? ?#開啟日記功能
xferlog_std_format=YES ? ? ? ? ? ? ? ? ?#使用標準格式
#log_ftp_protocol=NO ? ? ? #當(dāng)xferlog_std_format關(guān)閉且本選項開啟時,記錄所有ftp請求和回復(fù),當(dāng)調(diào)試比較有用.
pasv_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? #允許使用pasv模式
#pasv_promiscuous=NO ? ? ? ? ? ? ? ? ? ? ? ?#關(guān)閉安全檢查,Pasv向
#port_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#允許使用port模式
#prot_promiscuous ? ? ? ? ? ? ? ? ? ? ? ? ? #關(guān)閉安全檢查,Port向
tcp_wrappers=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#開啟tcp_wrappers支持
pam_service_name=vsftpd ? ? ? ? ? ? ? ? #定義PAM 所使用的名稱,預(yù)設(shè)為vsftpd
nopriv_user=nobody ? ? ? ? ? ? ? ? ? ? ?#當(dāng)服務(wù)器運行于最底層時使用的用戶名
pasv_address=(none) ? ? ? ? ? ? ? ? #使vsftpd在pasv命令回復(fù)時跳轉(zhuǎn)到指定的IP地址.(服務(wù)器聯(lián)接跳轉(zhuǎn)?)
#################服務(wù)器性能選項##############
#ls_recurse_enable=YES ? ? ? ? ? ? ? #是否能使用ls -R命令以防止浪費大量的服務(wù)器資源
#one_process_model ? ? ? ? ? ? ? ? ? ?#是否使用單進程模式
listen=YES ? ? ?#綁定到listen_port指定的端口,既然都綁定了也就是每時都開著的,就是那個什么standalone模式
text_userdb_names=NO ? ? ? ? ? ? ? ? ? ? ?#當(dāng)使用者登入后使用ls -al 之類的指令查詢該檔案的管理權(quán)時,預(yù)設(shè)會出
現(xiàn)擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現(xiàn)擁有者的名
稱,則將此功能開啟。
use_localtime=NO ? ? ? ? ? ? ? ? ? ?#顯示目錄清單時是用本地時間還是GMT時間,可以通過mdtm命令來達到一樣的效果
#use_sendfile=YES ? ? ? ? ? ? ? ? ? ? ? ? ? #測試平臺優(yōu)化
################信息類設(shè)置################
ftpd_banner=WelcomeFTP Server. ? ? ? ? #login時顯示歡迎信息.如果設(shè)置了banner_file則此設(shè)置無效
dirmessage_enable=YES ? ? ? ? ? ? ? #允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內(nèi)容 #setproctitle_enable=YES ? ? ? ? ? ? ? ? ? ?#顯示會話狀態(tài)信息,關(guān)!
##############文件定義 ##################
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list#定義不能更改用戶主目錄的文件
userlist_file=/etc/vsftpd/vsftpd.user_list ? ? ?#定義限制/允許用戶登錄的文件
banner_file=/etc/vsftpd/banner ? ? ? ? ? ? ? ? ? ? ?#定義登錄信息文件的位置
banned_email_file=/etc/vsftpd.banned_emails ? ? #禁止使用的匿名用戶登陸時作為密碼的電子郵件地址
xferlog_file=/var/log/vsftpd.log ? ? ? ? ? ? ? ? ? ?#日志文件位置
message_file=.message ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #目錄信息文件
##############目錄定義 #################
user_config_dir=/etc/vsftpd/userconf ? ? ? ? ? ? ? ?#定義用戶配置文件的目錄
   ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #定義本地用戶登陸的根目錄,注意定義根目錄可以是相對路徑
也可以是絕對路徑.相對路徑是針對用戶家目錄來說的.
local_root=webdisk ? ? ? ? ? ? ? ? ? ? ? ? ? #此項設(shè)置每個用戶登陸后其根目錄為/home/username/webdisk
anon_root=/var/ftp ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #匿名用戶登陸后的根目錄
#############用戶連接選項#################
max_clients=100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #可接受的最大client數(shù)目
max_per_ip=5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#每個ip的最大client數(shù)目
connect_from_port_20=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#使用標準的20端口來連接ftp
listen_address=192.168.0.2 ? ? ? ? ? ? ? ? ? ? ? ? ? ?#綁定到某個IP,其它IP不能訪問
#listen_port=2121 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #綁定到某個端口
#ftp_data_port=2020 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數(shù)據(jù)傳輸端口
pasv_max_port=0 ? ? ? ? ? ? ? ? ? ? ? ? #pasv連接模式時可以使用port 范圍的上界,0 表示任意。默認值為0。
pasv_min_port=0   ? ? ? ? ? ? ? ? ? ? ? #pasv連接模式時可以使用port 范圍的下界,0 表示任意。默認值為0。
##############數(shù)據(jù)傳輸選項#################
anon_max_rate=51200 ? ? ? ? ? ? ? ? ? ? #匿名用戶的傳輸比率(b/s)
local_max_rate=5120000 ? ? ? ? ? ? ? ? ?#本地用戶的傳輸比率(b/s)

配置FTP服務(wù)器實例

通過修改不同的配置文件選項,達到不同的實驗效果

匿名FTP的基本配置

使用匿名FTP,用戶無需輸入用戶名密碼即可登錄FTP服務(wù)器,vsftpd安裝后默認開啟了匿名ftp的功能,用戶無需額外配置即可使用匿名登錄ftp服務(wù)器

這個時候用戶可以匿名方式登錄ftp服務(wù)器,查看并下載匿名賬戶主目錄下的各級目錄和文件,但是不能上傳文件或者創(chuàng)建目錄

[root@localhost ~]# lftp 10.1.252.97
lftp 10.1.252.97:~> ls ? ? ? ? ? ? ?
drwxr-xr-x ? ?2 0 ? ? ? ?0 ? ? ? ? ? ?4096 May 11 06:17 pub
lftp 10.1.252.97:/> cd pub/
lftp 10.1.252.97:/pub> put /etc/issue
put: Access failed: 550 Permission denied. (issue) ?//拒絕上傳
lftp 10.1.252.97:/pub> get 1.txt ? ? ? ?//可以下載
lftp 10.1.252.97:/pub>

匿名ftp的其他設(shè)置

出于安全方面的考慮,vsftpd在默認情況下不允許用戶通過匿名FTP上傳文件,創(chuàng)建目錄等更改操作,但是可以修改vsftpd.conf配置文件的選項,可以賦予匿名ftp更多的權(quán)限?
實例1、允許匿名ftp上傳文件?
1、修改vsfpd.conf

write_enable=YES
anon_upload_enable=YES

2、更改/var/ftp/pub目錄的權(quán)限,為ftp用戶添加寫權(quán)限,并重新加載配置文件

[root@localhost pub]# chmod o+w /var/ftp/pub/
[root@localhost pub]# service vsftpd reload
Shutting down vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]
Starting vsftpd for vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

3、測試

lftp 10.1.252.97:/pub> put /etc/issue
79 bytes transferred ? ? ? ? ? ?//成功上傳
lftp 10.1.252.97:/pub> ls
-rw-r--r-- ? ?1 0 ? ? ? ?0 ? ? ? ? ? ? ? 0 Jul 25 01:13 1.txt
-rw------- ? ?1 14 ? ? ? 50 ? ? ? ? ? ? 79 Jul 25 01:19 issue

實例2、允許匿名ftp創(chuàng)建目錄?
1、修改vsftpd.conf文件

write_enable=YES
anon_mkdir_write_enable=YES

2、更改/var/ftp/pub目錄的權(quán)限,為ftp用戶添加寫權(quán)限,并重新加載配置文件

[root@localhost pub]# chmod o+w /var/ftp/pub/
[root@localhost pub]# service vsftpd reload
Shutting down vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]
Starting vsftpd for vsftpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

3、測試

lftp 10.1.252.97:/pub> mkdir zabbix
mkdir ok, `zabbix' created
lftp 10.1.252.97:/pub> ls ? ? ? //創(chuàng)建成功
-rw-r--r-- ? ?1 0 ? ? ? ?0 ? ? ? ? ? ? ? 0 Jul 25 01:13 1.txt
-rw------- ? ?1 14 ? ? ? 50 ? ? ? ? ? ? 79 Jul 25 01:19 issue
drwx------ ? ?2 14 ? ? ? 50 ? ? ? ? ? 4096 Jul 25 01:23 zabbix

配置本地用戶登錄

本地用戶登錄就是指使用Linux操作系統(tǒng)中的用戶賬號和密碼登錄ftp服務(wù)器,vsftp安裝后默只支持匿名ftp登錄,用戶如果試圖使用Linux操作系統(tǒng)中的賬號登錄服務(wù)器,將會被vsftpd拒絕?
1、創(chuàng)建本地用戶

[root@localhost pub]# useradd zhanghe
[root@localhost pub]# passwd zhanghe
Changing password for user zhanghe.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

2、修改vsftpd.conf文件

local_enable=YES

3、修改目錄權(quán)限

[root@localhost html]# chmod o+w /var/www/html/

4、登錄賬戶測試

配置虛擬用戶登錄(MySQL認證)


1、安裝MySQL并創(chuàng)建對應(yīng)用戶和表

[root@localhost ~]# yum install mysql-server -y ? #安裝MySQL數(shù)據(jù)庫
[root@localhost ~]# service mysqld start ? ? ? ? ? ? ?#啟動數(shù)據(jù)庫
[root@localhost ~]# mysql_secure_installation ? ? #初始化MySQL配置

創(chuàng)建用戶并授權(quán),創(chuàng)建對應(yīng)數(shù)據(jù)庫和表并插入兩行數(shù)據(jù)

[root@localhost ~]# mysql -uroot -p
Enter password:
mysql> GRANT ALL ON vsftpd.* TO vsftpd@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec) ? ?#授予用戶權(quán)限

mysql> CREATE DATABASE vsftpd; ? ? ? ? ?#創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)

mysql> use vsftpd; ? ? ? ? ? ? ? ? ? ? ?#進入指定默認數(shù)據(jù)庫
Database changed
mysql> CREATE TABLE vsftpd.users (uid SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE KEY,name VARCHAR(100) NOT NULL PRIMARY KEY,password CHAR(48) NOT NULL); ? ? ? ? ? ? ? ? ? ?#創(chuàng)建表
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO users (name,password) VALUES ('tom',PASSWORD('mageedu')),('jerry',PASSWORD('mageedu')),('lucy',PASSWORD('mageedu')); ? ? ? ? #插入3行,用戶為tom,jerry,lucy
Query OK, 3 rows affected (0.00 sec)
Records: 3 ?Duplicates: 0 ?Warnings: 0

mysql> FLUSH PRIVILEGES; ? ? ? ? ? ? ?#刷新權(quán)限
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

2、配置vsftpd基于MySQL表的虛擬用戶

首先要完成基于MySQL表的認證,需要通過pam_mysql模塊實現(xiàn),我們要先安裝pam_mysql

pam_mysql模塊?
CentOS 6:epel?
CentOS 7:編譯安裝

[root@localhost ~]# yum -y install pam_mysql

準備要映射成為的系統(tǒng)賬號:

[root@localhost ~]# mkdir -pv /ftproot/{pub,upload}
[root@localhost ~]# useradd -d /ftproot vuser
[root@localhost ~]# setfacl -m u:vuser:rwx /ftproot/upload

準備基于mysql認證的pam配置文件:/etc/pam.d/vsftpd.mysql

[root@localhost ~]# vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so host=10.1.252.36 user=vsftpd passwd=123456 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so host=10.1.252.36 user=vsftpd passwd=123456 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

配置vsftpd啟用虛擬用戶,并使用指定的pam service:vsftpd.conf

//并確保pam_service_name選項的值如下所示
pam_service_name=vsftpd.mysql
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vuser

配置每虛擬用戶擁有不同的權(quán)限:vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_conf

為每個用戶單獨提供配置文件

[root@localhost ~]# mkdir /etc/vsftpd/vusers_conf
[root@localhost ~]# cd /etc/vsftpd/vusers_conf/
[root@localhost vusers_conf]# touch tom
[root@localhost vusers_conf]# vim tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

測試

[root@localhost ~]# ftp 10.1.252.97
Connected to 10.1.252.97 (10.1.252.97).
220 (vsFTPd 2.2.2)
Name (10.1.252.97:root): tom
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,1,252,97,44,23).
150 Here comes the directory listing.
drwxr-xr-x ? ?2 500 ? ? ?500 ? ? ? ? ?4096 Jul 25 01:47 51cto
drwx------ ? ?2 501 ? ? ?501 ? ? ? ? ?4096 Jul 25 02:17 iii
drwxr-xr-x ? ?2 500 ? ? ?500 ? ? ? ? ?4096 Jul 25 01:45 zabbix
226 Directory send OK.
ftp>

控制用戶登錄

1、編輯vsftpd.conf文件

userlist_enable=YES
userlist_file=/etc/vsftpd/ftpuser_list
[root@localhost vsftpd]# vim user_list
或者:vim /etc/vsftpd/ftpuser_list
halt
mail
news
uucp
operator
games
nobody
tom ?//添加禁止登錄的用戶

2、登錄測試

[root@localhost ~]# ftp 10.1.252.97
Connected to 10.1.252.97 (10.1.252.97).
220 (vsFTPd 2.2.2)
Name (10.1.252.97:root): tom
530 Permission denied.
Login failed.
ftp> ls
530 Please login with USER and PASS.
Passive mode refused.
ftp>

設(shè)置歡迎信息

用戶登錄歡迎信息

1、修改vsftpd.conf,并重載服務(wù)

ftpd_banner=Welcome to blah mageedu@ftp service.

[root@localhost vsftpd]# service vsftpd reload

2、測試

[root@localhost ~]# ftp 10.1.252.97
Connected to 10.1.252.97 (10.1.252.97).
220 Welcome to blah mageedu@ftp service.
Name (10.1.252.97:root): tom

登錄信息寫入文件

1、修改vsftpd.conf文件

#ftpd_banner=Welcome to blah mageedu@ftp service.
banner_file=/etc/vsftpd/banner.txt

2、添加歡迎信息文件

[root@localhost vsftpd]# cat banner.txt
*************************************************
* ? ? ? ? ? ? ? ? ? ? ? *
* ? Welocome to Mageedu FTP server ? ? ?*
* ? ? ? ? ? ? ? ? ? ? ? *
*************************************************

3、測試

[root@localhost ~]# ftp 10.1.252.97
Connected to 10.1.252.97 (10.1.252.97).
220-*************************************************
220-* ? ? ? ? ? ? ? ? ? ? ? *
220-* ? Welocome to Mageedu FTP server ? ? ?*
220-* ? ? ? ? ? ? ? ? ? ? ? *
220-*************************************************
220
Name (10.1.252.97:root):

目錄歡迎信息

1、編譯vsftpd.conf文件

dirmessage_enable=YES

2、在文件目錄下創(chuàng)建歡迎信息文件并重載服務(wù)

[root@localhost vsftpd]# cat /var/www/html/.message
歡迎進入ftp根目錄
[root@localhost html]# service vsftpd reload

3、測試

Name (10.1.252.97:root): tom
331 Please specify the password.
Password:
230-歡迎進入ftp根目錄
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

日志管理

[root@localhost ~]# cat /var/log/xferlog
Mon Jul 25 09:13:36 2016 1 10.1.252.96 0 /pub/1.txt b _ o a lftp@ ftp 0 * c
//提示時間:從10.1.252.96訪問:訪問的文件:b是二進制傳輸方式:o是服務(wù)器到客戶端:a表示匿名
Mon Jul 25 09:19:49 2016 1 10.1.252.96 79 /pub/issue b _ i a lftp@ ftp 0 * c
//提示時間:從10.1.252.96訪問:訪問的文件:b是二進制傳輸方式:i是客戶端到服務(wù)端:a表示匿名
Mon Jul 25 09:46:01 2016 1 10.1.250.64 49451 /var/www/html/Linux_Services_and_Security.txt b _ i r zhanghe ftp 0 * c
提示時間:從10.1.252.64訪問:訪問的文件:b是二進制傳輸方式:i是客戶端到服務(wù)端:r表示真實用戶:服務(wù)名ftp:認證方式0表示無:*無法獲取用戶ID:c表示傳輸已完成
[root@localhost ~]#



總結(jié)

以上是生活随笔為你收集整理的详解“FTP文件传输服务”安装配置实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。