详解“FTP文件传输服务”安装配置实例
“FTP文件傳輸服務”安裝配置實例
?
家住海邊喜歡浪:zhang789.blog.51cto.com
目錄
簡介
ftp工作原理
常見的FTP服務
Vsftpd服務器的安裝
Vsftpd.conf配置文件詳解
配置FTP服務器實例
實例:配置匿名用戶
實例:配置本地用戶登錄
實例:配置虛擬用戶登錄(MySQL認證)
實例:控制用戶登錄
實例:設置歡迎信息
分析vsftpd日志管理
FTP服務器配置與管理
簡介
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。
互聯網上提供文件存儲和訪問服務的計算機,他們依照的是FTP協議提供服務!支持FTP協議的服務器就是FTP服務器!FTP協議提供存儲和傳輸服務的一套協議!
下載"(Download)和"上傳"(Upload)。”下載”文件就是從遠程主機拷貝文件至自己的計算機上;”上傳”文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
ftp工作原理
ftp采用客戶端/服務端的工作模式(C/S結構),通過TCP協議建立客戶端和服務器之間的連接,但與其他大多數應用協議不同,FTP協議在客戶端和服務端之間建立了兩條通信鏈路,分別是控制鏈路和數據鏈路,其中,控制鏈路負責FTP會話過程中FTP命令的發送和接收,數據鏈路則負責數據的傳輸
FTP會話包含了兩個通道,控制通道和數據通道,FTP的工作有兩種方式,一種是主動模式,一種是被動模式,以FTPServer為參照物,主動模式,服務器主動連接客戶端傳輸,被動模式,等待客戶端的的連接?
(無論是主動模式還是被動模式,首先的控制通道都是先建立起來的,只是在數據傳輸模式上的區別)
主動模式
工作的原理: FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼,客戶端隨機開放一個端口(1024以上),發送 PORT命令到FTP服務器,告訴服務器客戶端采用主動模式并開放端口;FTP服務器收到PORT主動模式命令和端口號后,通過服務器的20端口和客戶端開放的端口連接,發送數據,原理如下圖:被動模式
PASV是Passive的縮寫,中文成為被動模式,工作原理:FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務器開放的端口進行數據傳輸,原理如下圖:
工作端口和模式
20號端口:數據傳輸端口 ftp-data?
21號端口:指令傳輸端口
數據傳輸原理: FTP的傳輸有兩種方式:ASCII、二進制。
ASCII傳輸方式
假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便于把文件解釋成另外那臺計算機存儲文本文件的格式。?
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,數據庫,字處理文件或者壓縮文件。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝。
二進制傳輸模式
在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。?
如在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會損壞數據。(ASCII方式一般假設每一字符的第一有效位無意義,因為ASCII字符組合不使用它。如果傳輸二進制文件,所有的位都是重要的。)
常見的FTP服務
Windows下:Serv-U FTP Server?
Linux下有代表性的FTP服務器軟件是Wu-FTP、ProFTP?及vsftpd。Wu-FTP(Washington University FTP)是由美國華盛頓大學開發的、以效率和穩定性為參考量的FTP軟件。它的功能強大,配置較復雜,由于開發時間較早,應用十分廣泛,也因此成為***們主要的***目標。Wu-FTP的早期各級版本不斷出現安全漏洞,系統管理員不得不因安全因素而經常對其進行升級。ProFTP針對Wu-FTP的弱項而開發,除了在安全性方面進行了改進外,還具備設置簡單的特點,并提供了一些Wu-FTP沒有的功能,大大簡化了架設和管理FTP服務器的工作。vsftpd?則憑借在安全性方面的出色表現,被很多大型網站廣為采用。
Vsftpd服務器的安裝
軟件包
vsftpd-2.2.2-11.el6_4.1.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? //服務端軟件包 ?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 vsftpd2、相關配置文件
[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服務器
/etc/vsftpd/user_list ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //白名單,允許訪問FTP服務器的用戶列表
3、啟動服務
服務啟動與關閉[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。
#################用戶權限控制###############
write_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#可以上傳(全局控制).
local_umask=022 ? ? ? ? ? ? ? ? ? ? ? ? #本地用戶上傳文件的umask
file_open_mode=0666 ? ? ? ? ? ? ? ? ? ? #上傳文件的權限配合umask使用
anon_upload_enable=NO ? ? ? ? ? ? ? ? ? #匿名用戶可以上傳
anon_mkdir_write_enable=NO ? ? ? ? ? ? ?#匿名用戶可以建目錄
anon_other_write_enable=NO ? ? ? ? ? ? ?#匿名用戶修改刪除
anon_world_readable_only=YES ? ? ? ? ? ?#如果設為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 ? ? ?#這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當
vsftpd不需要file system 的權限時,就會將使用者限制在此數據夾中 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
默認值為/usr/share/empty
###################超時設置##################
idle_session_timeout=600 ? ? ? ? ? ? ? ? ? ?#空閑連接超時
data_connection_timeout=120 ? ? ? ? ? ? #數據傳輸超時
ACCEPT_TIMEOUT=60 ? ? ? ? ? ? ? ? ? ? ? ? ? #PAVS請求超時
connect_timeout=60 ? ? ? ? ? ? ? ? ? ? ?#PROT模式連接超時
################服務器功能選項###############
xferlog_enable=YES ? ? ? ? ? ? ? ? ? ? ?#開啟日記功能
xferlog_std_format=YES ? ? ? ? ? ? ? ? ?#使用標準格式
#log_ftp_protocol=NO ? ? ? #當xferlog_std_format關閉且本選項開啟時,記錄所有ftp請求和回復,當調試比較有用.
pasv_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? #允許使用pasv模式
#pasv_promiscuous=NO ? ? ? ? ? ? ? ? ? ? ? ?#關閉安全檢查,Pasv向
#port_enable=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#允許使用port模式
#prot_promiscuous ? ? ? ? ? ? ? ? ? ? ? ? ? #關閉安全檢查,Port向
tcp_wrappers=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ?#開啟tcp_wrappers支持
pam_service_name=vsftpd ? ? ? ? ? ? ? ? #定義PAM 所使用的名稱,預設為vsftpd
nopriv_user=nobody ? ? ? ? ? ? ? ? ? ? ?#當服務器運行于最底層時使用的用戶名
pasv_address=(none) ? ? ? ? ? ? ? ? #使vsftpd在pasv命令回復時跳轉到指定的IP地址.(服務器聯接跳轉?)
#################服務器性能選項##############
#ls_recurse_enable=YES ? ? ? ? ? ? ? #是否能使用ls -R命令以防止浪費大量的服務器資源
#one_process_model ? ? ? ? ? ? ? ? ? ?#是否使用單進程模式
listen=YES ? ? ?#綁定到listen_port指定的端口,既然都綁定了也就是每時都開著的,就是那個什么standalone模式
text_userdb_names=NO ? ? ? ? ? ? ? ? ? ? ?#當使用者登入后使用ls -al 之類的指令查詢該檔案的管理權時,預設會出
現擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現擁有者的名
稱,則將此功能開啟。
use_localtime=NO ? ? ? ? ? ? ? ? ? ?#顯示目錄清單時是用本地時間還是GMT時間,可以通過mdtm命令來達到一樣的效果
#use_sendfile=YES ? ? ? ? ? ? ? ? ? ? ? ? ? #測試平臺優化
################信息類設置################
ftpd_banner=WelcomeFTP Server. ? ? ? ? #login時顯示歡迎信息.如果設置了banner_file則此設置無效
dirmessage_enable=YES ? ? ? ? ? ? ? #允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容 #setproctitle_enable=YES ? ? ? ? ? ? ? ? ? ?#顯示會話狀態信息,關!
##############文件定義 ##################
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 ? ? ? ? ? ? ? ? ? ? ? ? ? #此項設置每個用戶登陸后其根目錄為/home/username/webdisk
anon_root=/var/ftp ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #匿名用戶登陸后的根目錄
#############用戶連接選項#################
max_clients=100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #可接受的最大client數目
max_per_ip=5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#每個ip的最大client數目
connect_from_port_20=YES ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#使用標準的20端口來連接ftp
listen_address=192.168.0.2 ? ? ? ? ? ? ? ? ? ? ? ? ? ?#綁定到某個IP,其它IP不能訪問
#listen_port=2121 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #綁定到某個端口
#ftp_data_port=2020 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #數據傳輸端口
pasv_max_port=0 ? ? ? ? ? ? ? ? ? ? ? ? #pasv連接模式時可以使用port 范圍的上界,0 表示任意。默認值為0。
pasv_min_port=0 ? ? ? ? ? ? ? ? ? ? ? #pasv連接模式時可以使用port 范圍的下界,0 表示任意。默認值為0。
##############數據傳輸選項#################
anon_max_rate=51200 ? ? ? ? ? ? ? ? ? ? #匿名用戶的傳輸比率(b/s)
local_max_rate=5120000 ? ? ? ? ? ? ? ? ?#本地用戶的傳輸比率(b/s)
配置FTP服務器實例
通過修改不同的配置文件選項,達到不同的實驗效果
匿名FTP的基本配置
使用匿名FTP,用戶無需輸入用戶名密碼即可登錄FTP服務器,vsftpd安裝后默認開啟了匿名ftp的功能,用戶無需額外配置即可使用匿名登錄ftp服務器
這個時候用戶可以匿名方式登錄ftp服務器,查看并下載匿名賬戶主目錄下的各級目錄和文件,但是不能上傳文件或者創建目錄
[root@localhost ~]# lftp 10.1.252.97lftp 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的其他設置
出于安全方面的考慮,vsftpd在默認情況下不允許用戶通過匿名FTP上傳文件,創建目錄等更改操作,但是可以修改vsftpd.conf配置文件的選項,可以賦予匿名ftp更多的權限?
實例1、允許匿名ftp上傳文件?
1、修改vsfpd.conf
anon_upload_enable=YES
2、更改/var/ftp/pub目錄的權限,為ftp用戶添加寫權限,并重新加載配置文件
[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/issue79 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創建目錄?
1、修改vsftpd.conf文件
anon_mkdir_write_enable=YES
2、更改/var/ftp/pub目錄的權限,為ftp用戶添加寫權限,并重新加載配置文件
[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 zabbixmkdir ok, `zabbix' created
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
drwx------ ? ?2 14 ? ? ? 50 ? ? ? ? ? 4096 Jul 25 01:23 zabbix
配置本地用戶登錄
本地用戶登錄就是指使用Linux操作系統中的用戶賬號和密碼登錄ftp服務器,vsftp安裝后默只支持匿名ftp登錄,用戶如果試圖使用Linux操作系統中的賬號登錄服務器,將會被vsftpd拒絕?
1、創建本地用戶
[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=YES3、修改目錄權限
[root@localhost html]# chmod o+w /var/www/html/4、登錄賬戶測試
配置虛擬用戶登錄(MySQL認證)
1、安裝MySQL并創建對應用戶和表
[root@localhost ~]# yum install mysql-server -y ? #安裝MySQL數據庫[root@localhost ~]# service mysqld start ? ? ? ? ? ? ?#啟動數據庫
[root@localhost ~]# mysql_secure_installation ? ? #初始化MySQL配置
創建用戶并授權,創建對應數據庫和表并插入兩行數據
[root@localhost ~]# mysql -uroot -pEnter password:
mysql> GRANT ALL ON vsftpd.* TO vsftpd@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec) ? ?#授予用戶權限
mysql> CREATE DATABASE vsftpd; ? ? ? ? ?#創建數據庫
Query OK, 1 row affected (0.00 sec)
mysql> use vsftpd; ? ? ? ? ? ? ? ? ? ? ?#進入指定默認數據庫
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); ? ? ? ? ? ? ? ? ? ?#創建表
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; ? ? ? ? ? ? ?#刷新權限
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
2、配置vsftpd基于MySQL表的虛擬用戶
首先要完成基于MySQL表的認證,需要通過pam_mysql模塊實現,我們要先安裝pam_mysql
pam_mysql模塊?
CentOS 6:epel?
CentOS 7:編譯安裝
準備要映射成為的系統賬號:
[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.mysqlauth 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
配置每虛擬用戶擁有不同的權限: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.97Connected 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=YESuserlist_file=/etc/vsftpd/ftpuser_list
[root@localhost vsftpd]# vim user_list
或者:vim /etc/vsftpd/ftpuser_list
halt
news
uucp
operator
games
nobody
tom ?//添加禁止登錄的用戶
2、登錄測試
[root@localhost ~]# ftp 10.1.252.97Connected 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>
設置歡迎信息
用戶登錄歡迎信息
1、修改vsftpd.conf,并重載服務
ftpd_banner=Welcome to blah mageedu@ftp service.[root@localhost vsftpd]# service vsftpd reload
2、測試
[root@localhost ~]# ftp 10.1.252.97Connected 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.97Connected 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=YES2、在文件目錄下創建歡迎信息文件并重載服務
[root@localhost vsftpd]# cat /var/www/html/.message歡迎進入ftp根目錄
[root@localhost html]# service vsftpd reload
3、測試
Name (10.1.252.97:root): tom331 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/xferlogMon 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是服務器到客戶端: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是客戶端到服務端: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是客戶端到服務端:r表示真實用戶:服務名ftp:認證方式0表示無:*無法獲取用戶ID:c表示傳輸已完成
[root@localhost ~]#
總結
以上是生活随笔為你收集整理的详解“FTP文件传输服务”安装配置实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发网络篇—数据缓存
- 下一篇: 配置DNS服务