FTP介紹
html
(rz和sz: 傳文件linux
rz:window-->linuxshell
sz:linux-->window 文件超過4GB則無論用)vim
使用vsftpd搭建ftp服務centos
1.安裝:yum install -y vsftpd安全
2.建立用戶:服務器
(vsftpd默認支持是可使用系統帳號登陸的,可是這樣不安全,由於咱們系統的用戶是能夠登陸,而後去操做咱們的操做系統的。因此使用虛擬帳號體系,建立虛擬用戶,虛擬用戶是不能登錄到咱們的系統的!!)session
建立一個普通用戶,做用是做爲虛擬用戶的一個映射,能讓其登陸使用FTPide
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 testuser1@127.0.0.1 虛擬用戶登陸
在用虛擬用戶登陸了一個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