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服務)
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