FTP服務搭建與配置

FTP服務搭建與配置

FTP介紹

FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。

 FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。

 小公司用的多,大企業不用FTP,因爲不安全。


使用vsftpd搭建ftp服務

centos上自帶vsftpd

 安裝:yum install -y vsftpd

 創建一個用戶:useradd -s /sbin/nologin virftp //-s指定他的shell這樣爲了安全,創建這個普通用戶的目的是爲了讓這些虛擬的用戶來做一個映射,因爲你要登錄這臺機器去傳輸數據,所以需要一個用戶

 編輯文件:vim /etc/vsftpd/vsftpd_login //這個文件我們叫做虛擬用戶的密碼文件,需要定義他的用戶名和密碼,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行,內容格式如下:

testuser1

aminglinux

user1

987654321

image.png

 編輯完更改權限:chmod 600 /etc/vsftpd/vsftpd_login 不能讓所有用戶都能讀

 把文本的密碼文件轉換成計算機識別的二進制文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

 創建虛擬用戶配置文件所在的目錄:mkdir /etc/vsftpd/vsftpd_user_conf 

 這個目錄也是自定義的所以也要去配置文件中去定義

 先進入到該目錄下:cd /etc/vsftpd/vsftpd_user_conf

創建並編輯用戶的配置文件:vim testuser1 //創建用戶的配置文件要跟你的用戶名字一致,加入以下內容://註釋

local_root=/home/virftp/testuser1//定義虛擬用戶的家目錄

anonymous_enable=NO//是否允許祕密用戶

write_enable=YES//是否允許可寫

local_umask=022//創建新目錄新文件的權限是什麼,跟系統的保持一致的

anon_upload_enable=NO//是否允許祕密用戶可上傳

anon_mkdir_write_enable=NO//是否允許祕密用戶可創建目錄並且寫

idle_session_timeout=600//上傳超出多少時間斷開連接

data_connection_timeout=120//數據傳輸的超出時間

max_clients=10//最大的客戶端有多少

 創建虛擬用戶的家目錄:mkdir /home/virftp/testuser1

 在touch一個文件:touch /home/virftp/testuser1/aming.txt

 更改權限:chown -R virftp:virftp /home/virftp因爲最後你要映射成virftp這個用戶

 編輯配置文件,定義它的密碼文件在哪裏: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

image.png

編輯vfstpd的主配置文件:vim /etc/vsftpd/vsftpd.conf

 將anonymous_enable=YES 改爲 anonymous_enable=NO 不允許祕密用戶

image.png

 將#anon_upload_enable=YES 改爲 anon_upload_enable=NO 

image.png

 將#anon_mkdir_write_enable=YES 改爲 anon_mkdir_write_enable=NO

image.png

  在最下邊再增加如下內容

chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

image.png

啓動服務:systemctl start vsftpd 查看下進程:ps aux |grep vsftp

image.png

查看監聽端口:netstat -lntp vsftp監聽的是21端口   22端口是sshd 23端口是telnet

B{{JIM(89CSQ_[V667E{N]B.png


測試ftb

 安裝客戶端軟件:yum install -y lftp

 lftp [email protected]

 執行命令ls,看是否正常輸出

image.png

輸入問號?查看可以使用的命令

0$3({~Q_V8(IEB}KN4]N34M.png

常用的命令put;get  比如你get一個文件,他就會get到當前目錄下,quit退出來

image.png

 若不正常查看日誌/var/log/messages和/var/log/secure

 windows下安裝filezilla客戶端軟件,進行測試

ctrl+alt+f

image.png


使用pure-ftbd搭建ftb服務

 yum install -y epel-release

 yum install -y pure-ftpd

 改一下配置文件:vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除

image.png

因爲pure也屬於一個ftb傳輸軟件,也監聽着21端口,所以你要先把之前開啓的vsftpd關掉 

systemctl stop vsftpd

再來開啓oure服務:systemctl start pure-ftpd

 創建測試目錄:mkdir /data/ftp

 創建一個普通目錄:useradd -u 1010 pure-ftp

 把屬主屬組改一下:chown -R pure-ftp:pure-ftp /data/ftp

 創建一個用戶:pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp  //-u指定系統用戶是誰 -d指定虛擬用戶的家目錄

image.png

 查看pure都支持那些用法:pure-pw --help

必須執行這一步,不然沒辦法登錄:pure-pw mkdb

 創建一個測試文件:touch /data/ftp/123.txt

 登錄:lftp [email protected] ls查看一下有沒有123.txt文件

image.png

 pure-pw list/userdel/usermod/passwd


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章