FTP:介紹、vsftpd搭建ftp、xshell使用xftp傳輸文件、pure-ftpd搭ftp
(rz和sz: 傳文件
rz:window-->linux
sz:linux-->window 文件超過4GB則不管用)
使用vsftpd搭建ftp服務
1.安裝:yum install -y vsftpd
2.創建用戶:
(vsftpd默認支持是可以使用系統賬號登錄的,但是這樣不安全,因為我們系統的用戶是可以登錄,然後去操作我們的操作系統的。所以使用虛擬賬號體系,創建虛擬用戶,虛擬用戶是不能登陸到我們的系統的!!)
創建一個普通用戶,作用是作為虛擬用戶的一個映射,能讓其登錄使用FTP
useradd -s /sbin/nologin virftp (-s指定用戶的shell,shell為/sbin/nologin這樣這個用戶不能登陸系統
3.編輯虛擬用戶的密碼文件:(新文件)
vim /etc/vsftpd/vsftpd_login //內容如下,奇數行為用戶名,偶數行為密碼,多個用戶就寫多行
修改完做權限設置:
chmod 600 /etc/vsftpd/vsftpd_login
4.將文本的密碼文件裝換成二進制的密碼文件(生成對應的庫文件)
(db_load -T -t hash -f)
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5.創建虛擬用戶的目錄和配置文件:
(1)創建虛擬用戶的目錄
mkdir /etc/vsftpd/vsftpd_user_conf
(2)進入到虛擬用戶的目錄:
cd /etc/vsftpd/vsftpd_user_conf
(3)創建虛擬用戶的配置文件(文件名應該與我們設定的虛擬用戶名一致)
vim testuser1 //配置文件testuser1加入如下內容
local_root=/home/virftp/testuser1 //為虛擬用戶testuser1的家目錄(讀取文件所在處)
anonymous_enable=NO // 是否允許匿名用戶
write_enable=YES //是否可行
local_umask=022 //umask的值
anon_upload_enable=NO //是否允許匿名用戶上傳文件
anon_mkdir_write_enable=NO //是否允許匿名用戶可寫、創建用戶
idle_session_timeout=600 //連接空閑超時時間,超時就重新登錄
data_connection_timeout=120 //傳輸文件超時時間
max_clients=10 //最大客戶端數
6.創建虛擬用戶testuser1的家目錄:
mkdir /home/virftp/testuser1
創建一個文件(測試可以看到)
touch /home/virftp/testuser1/cansheng.txt
7.修改/home/virftp/的主和組:
chown -R virftp:virftp /home/virftp
8.修改認證的文件/etc/pam.d/vsftpd:
vim /etc/pam.d/vsftpd 添加下列內容
//在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
(密碼文件,centos7為64位系統,所以庫文件路徑為/lib64/security/pam_userdb.so,32位系統為:/lib/security/pam_userdb.so 這個文件一定要存在且寫對,不然虛擬用戶登錄ftp服務時會認證失敗)
9.修改全局配置文件/etc/vsftpd/vsftpd.conf
再增加如下內容
chroot_local_user=YES
guest_enable=YES //是否允許虛擬用戶映射
guest_username=virftp //這個就是虛擬用戶映射到的系統用戶virftp
virtual_use_local_privs=YES //
user_config_dir=/etc/vsftpd/vsftpd_user_conf //創建的虛擬用戶的目錄
allow_writeable_chroot=YES
10.啟動服務:
systemctl start vsftpd
測試:
(1)可以在window下安裝一個客戶端軟件:filezilla client
(2)在linux下測試,下載lftp :yum install -y lftp
使用lftp:
lftp [email protected] 虛擬用戶登錄
在用虛擬用戶登錄了一個ftp。
1.下載命令,get
get cansheng.txt (把虛擬用戶下的文件cansheng.txt下載到服務器當前目錄下)
2.上傳命令:put
window下測試,下載filezilla client,登錄後也是進行拖拉就行。
在xshell上實現同樣的功能,上傳、下載:
鏈接後登錄
使用下載命令後,
get cansheng.txt
保存路徑為在C:\Users\kenson\Documents\NetSarang\Xshell\Sessions\
xshell時的安裝路徑
xshell使用xftp傳輸文件
下載一個xftp更實用:
在http://www.netsarang.com/download/down_form.html?code=523
下載安裝完:在xshell中按 Ctrl+Alt+F,會出現以下xftp
在這個軟件中我們進行拖拉就可以上傳和下載,相當簡單。
(前提是使用xshell登錄了機器,然後按 Ctrl+Alt+F)
使用pure-ftpd搭建ftp服務
這個pure-ftpd比vsftpd更簡單更輕量
1.下載:
(1)先下載擴展源: yum install -y epel-release
(2)再下載pure-ftpd: yum install -y pure-ftpd
2.修改配置文件:
vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除
3.開啟服務:
systemctl stop vsftpd (先把vsftpd服務停止,因為pure-ftpd也是監聽21端口,避免端口沖突)
systemctl start pure-ftpd (開啟pure-ftpd服務)
4.創建一個系統用戶
useradd -u 1010 pure-ftp (uid可自定)
5.創建測試目錄
mkdir /data/ftp
修改目錄的屬主和組:
chown -R pure-ftp:pure-ftp /data/ftp
6.創建一個虛擬用戶
pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
(同時設定用戶密碼)
pure-pw help //查看pure-pw的用法
7. pure-pw mkdb 執行這個命令
(不執行是無法登錄的)
測試:
在虛擬用戶的家目錄創建一個測試文件:
touch /data/ftp/123.txt
chown pure-ftp:pure-ftp /data/ftp/123.txt
列出當前虛擬用戶:pure-pw list
FTP:介紹、vsftpd搭建ftp、xshell使用xftp傳輸文件、pure-ftpd搭ftp