1. 程式人生 > >Linux下vsftp的安裝和使用:Centos7

Linux下vsftp的安裝和使用:Centos7

環境 cal 開啟 ftpd 火墻 創建 time emc ESS

一.準備工作。
為了調試順利,關閉selinux,firewall和iptables。
根據個人需求,安裝自己需要的程序。
#yum install gcc lrzsz vim wget
環境介紹:
centos7.4
ip:192.168.1.238
client:Win10
二.vsftp科普。
Port模式(主動模式):
當客戶端C向服務端S連接後,使用的是Port模式,那麽客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個端口N在等著你進行數據連接),當服務端S收到這個Port命令後 就會向客戶端打開的那個端口N進行連接,這種數據連接就生成了。
Pasv模式(被動模式):
當客戶端C向服務端S連接後,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個端口M,你現在去連接我吧),當客戶端C收到這個信息後,就可以向服務端S的M端口進行連接,連接成功後,數據連接也建立了。
三.開始安裝。
1.yum安裝vsftp
yum -y install vsftpd
技術分享圖片
2.啟動服務
systemctl start vsftpd.service
3.配置文件路徑
/etc/vsftpd
四.虛擬用戶功能
1.首先修改配置文件。
#cp vsftpd.conf vsftpd.conf.bak #備份配置文件。
#echo ‘’ > vsftpd.conf #清空配置文件。
#vim /etc/vsftpd/vsftpd.conf #編輯配置文件。
2。配置文件內容。(虛擬用戶需要anonymous_enable=NO)
################################
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
################################
:wq #退出並保存
3.創建vsftp的宿主用戶
#useradd -g root -m -d /home/vsftpd -s /sbin/nologin ftpuser
#創建用戶 ftpuser 指定 /home/vsftpd 目錄
#passwd ftpuser #設置用戶 ftpuser 的密碼
#chown -R ftpuser.root /home/vsftpd #把 /home/vsftpd 的所有權給ftpuser.root
4.建立虛擬用戶文件
#touch /etc/vsftpd/vuser_passwd
(虛擬用戶名單,第一行為用戶名,第二行為密碼,不可用root為用戶名)(如下圖)
#vim /etc/vsftpd/vuser_passwd
技術分享圖片
:wq #退出並保存
5.生成虛擬用戶數據文件
#db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
#chmod 600 /etc/vsftpd/vuser_passwd.db
6.創建用戶配置
#mkdir /etc/vsftpd/vuser_conf # 建立虛擬用戶個人vsftp的配置文件
#cd /etc/vsftpd/vuser_conf # 進入目錄
#創建兩個用戶的文件touch ftp4 ftp5
每個文件(ftp4,ftp5)都寫入如下內容
技術分享圖片
#local_root=/home/vsftpd/ftp4填寫用戶的真實路徑
7.創建用戶目錄。
#mkdir -p /home/vsftpd/ftp4
#mkdir -p /home/vsftpd/ftp5
8.然後就可以啟動服務了。
#systemctl start vsftpd #開啟服務
#systemctl restart vsftpd #重啟服務
#systemctl stop vsftpd #關閉服務
#systemctl status vsftpd #查看服務狀態
9.生成虛擬用戶的PAM文件。
#cd /etc/pam.d #先進入存放PAM文件的目錄。
#cp vsftpd vsftpd.bak #先備份vsftpd這個文件。
修改vsftpd文件內容(加入第二和第三行,下面的都全部註釋,註意下面是64位操作系統,如果是32位的話lib64需要改成lib)
技術分享圖片
10.需要給虛擬用戶加上權限。
#chmod -R 777 /home/vsftpd #遞歸給沒個虛擬用戶權限。
11.更改完配置,需要重啟vsftpd服務。
#systemctl restart vsftpd
#systemctl stop firewalld #關閉防火墻
#setenforce 0 #關閉selinux
12.然後進入Windows下的cmd試著連接一下。
技術分享圖片
顯示遠程主機關閉連接。
13.接下來讓我們改一下配置文件就OK了,如下圖:
技術分享圖片
把這三行信息註釋掉,然後我們重啟服務。
再次cmd進行連接。
技術分享圖片
連接成功!
14.有需要的小夥伴可以把端口改一下。
在/etc/vsftpd/vsftpd.conf文件中添加如下內容。
技術分享圖片
端口修改為2121
在/etc/services文件中修改如下內容。
技術分享圖片
15.然後重啟一下服務就可以啦!
16.讓我們用ftp工具試驗一下。
技術分享圖片
17.大功告成!

Linux下vsftp的安裝和使用:Centos7