root@www ~]# useradd -d /data/ftp_data -m ftp_user 創建ftp_user用戶並制定家目錄為/data/ftp_data,如果是錄音服務器的話,把家目錄設定為錄音文件的地址如:/data/recordings/3030-f8a0-3d40-5f16/
[root@www ~]# passwd ftp_user 設置密碼
密碼為ftp123FTP
[root@www ~]# chown -R ftp_user:ftp_user /data/ftp_data/ 修改屬主:屬組
[root@www ~]# ll -ld /data/ftp_data/
drwx------ 3 ftp_user ftp_user 4096 10月 30 22:16 /data/ftp_data/
[root@www ~]# yum -y install vsftpd 安裝vsftpd軟件
[root@www ~]# cd /etc/vsftpd/
[root@www vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@www vsftpd]# cp vsftpd.conf vsftpd.conf.bak 備份配置文件
[root@www vsftpd]# vim vsftpd.conf
:% g/^#/d 刪除注釋行
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
use_localtime=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@www vsftpd]# /etc/init.d/vsftpd restart 重啟服務
然后就可以測試了
在客戶端ftp://192.168.80.3 跳出登陸界面,輸入設置的賬戶ftp_user 密碼:ftp123FTP 就可以登陸了,能創建文件也能上傳下載
新增知識點一:
如果要想實現新增一個ftp賬戶,並且不同的ftp賬戶各自訪問各自的家目錄,只需要新增一個ftp賬戶,指定這個賬戶的家目錄就可以實現了
以下為解釋配置文件
anonymous_enable=NO //關閉匿名訪問
local_enable=YES //打開本地賬戶登錄
write_enable=YES //可寫
local_umask=022 //本地用戶上傳的文件權限為755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES //開啟本地用戶的家目錄鎖定
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES //啟動監聽
use_localtime=YES
pam_service_name=vsftpd //pam認證模塊名
userlist_enable=YES //允許的用戶清單打開
tcp_wrappers=YES
新增知識點二:
ftp傳輸有兩種模式:主動模式和被動模式,默認使用的是20、21端口,21端口是用來建立連接的端口,20端口是模式的傳輸數據的端口,不管使用主動模式還是被動模式,建立連接的端口都使用的是21,傳輸數據時,主動和被動就有區別了
如果使用被動模式PASV,是服務器端打開了某一個或多個端口,等待客戶端來連接傳輸數據,這時候,就需要服務器端,ftp配置文件中添加下面幾行,把被動模式打開,並規定傳輸數據的端口段,如下圖:
如果防火牆有限制,除了開通必須的21端口后,那么一定要放開50000-50010端口才可以
如果使用主動模式PORT,是客戶端主動打開某一個和多個端口(這個是自動的,不用專門設置端口),服務端去主動連接客戶端並傳輸數據,這時候,就需要客戶端這邊的電腦把防火牆關閉,就可以傳輸數據了,這種的服務端傳輸數據是一個隨機的>1024的一個端口,防火牆要開通出去的不受限制才行,如果要限制,只能用被動模式