Linux服务-FTP文件服务器部署
生活随笔
收集整理的這篇文章主要介紹了
Linux服务-FTP文件服务器部署
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
FTP服務(wù)搭建
- 簡介
- 文件傳輸協(xié)議
- FTP共享是基于TCP/IP協(xié)議
- C/S
- FTP服務(wù)器共享按照文件目錄來組織的
- FTP只支持TCP不支持UDP
- 兩個端口:一個數(shù)據(jù)端口一個控制端口(命令端口)
- 端口
- 21端口
- 命令端口,用于接受客戶端執(zhí)行的FTP命令
- 20端口
- 數(shù)據(jù)傳輸,用于上傳下載文件數(shù)據(jù)
- 由于FTP工作方式四不同,數(shù)據(jù)端口不一定一直是20(想念那年軟考的這一題)
- 分為主動FTP與被動FTP
- 主動模式從服務(wù)端向客戶端發(fā)起連接,被動模式客戶端向服務(wù)端發(fā)起連接
- 兩者都是21端口進(jìn)行用戶驗(yàn)證管理
- 差別在于數(shù)據(jù)端口不同
- 主動模式(Standard/Active):FTP服務(wù)端主動向FTP客戶端發(fā)起連接請求
- 主動的連接方式的FTP客戶端從一個任意的非特權(quán)端口N(高位端口N>1024)連接到FTP服務(wù)端的命令端口21
- 然后客戶端開始監(jiān)聽N+1,并發(fā)送FTP命令"port N+1"到FTP服務(wù)器
- 接著服務(wù)器會從自己的數(shù)據(jù)端口20連接到客戶端指定的數(shù)據(jù)端口(N+1)
- 主動模式下,服務(wù)器開啟的是20和21兩個端口,客戶端連接的是大于1024的高位端口
- 被動模式(Passive/PASV):FTP服務(wù)端等待FTP客戶端發(fā)起連接請求
- 由客戶端主動發(fā)起,當(dāng)開啟一個FTP連接時,客戶端打開任意兩個高位端口(N>1024.N+1)
- 第一個端口會連接服務(wù)端21端口,但與主動模式不同,客戶端不會發(fā)起post命令,而是提交PASV命令
- 此時服務(wù)器會開啟一個任意的高位端口,并發(fā)送,命令PORT P發(fā)送到客戶端
- 客戶端從本地端口N+1連接到服務(wù)器的P端口用來傳輸數(shù)據(jù)
- 數(shù)據(jù)段不再是20,而是任意的高位端口
- 主動模式從服務(wù)端向客戶端發(fā)起連接,被動模式客戶端向服務(wù)端發(fā)起連接
- 分為主動FTP與被動FTP
- 21端口
- FTP服務(wù)器實(shí)現(xiàn)
- 服務(wù)端
- 軟件
- vsftp,proftpd,wuftpd,puireftpd
- 一般常用vsftp
- 小巧輕快,安全易用
- vsftp
- 安裝
- yum install vsftpd -y
- rpm -qa | grep vsftpd
- 配置
- 臨時關(guān)閉selinux
- setenforce 0
- 運(yùn)行防火墻通過
- firewall-cmd --permanent --add-service=ftp
- firewall-cmd --reload
- 重啟服務(wù)
- systemctl restart vsftpd
- systemctl enable vsftpd
- 修改配置文件
- /etc/vsftpd/vsftpd.conf
- 配置匿名FTP服務(wù)
- 將默認(rèn)的目錄賦予用戶ftp權(quán)限以便上傳
- chown -R ftp /var/ftp/pub
- 修改配置文件
- 重啟服務(wù)
- 將默認(rèn)的目錄賦予用戶ftp權(quán)限以便上傳
- 配置實(shí)名FTP服務(wù)
- 創(chuàng)建普通用戶用于登錄
- useradd jack
- passwd jack
- 修改配置文件
- 查看用戶列表
- 創(chuàng)建普通用戶用于登錄
- 配置虛擬用戶模式
- 因?yàn)樘摂M用戶模式的賬號和口令都不是真實(shí)系統(tǒng)中存在的,所以配置虛擬用戶模式會比本地用戶更加安全。
- 創(chuàng)建虛擬用戶數(shù)據(jù)庫
- vim /etc/vsftpd/vlogin
- susa
- susa
- zom
- zom
- 使用db_load命令用hash算法生成FTP用戶數(shù)據(jù)庫文件vlogin.db
- db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db
- chmod 600 /etc/vsftpd/{vlogin,vlogin.db}
- 創(chuàng)建pam文件,設(shè)置基于虛擬賬戶驗(yàn)證
- linux中一般通過pam文件設(shè)置賬號的驗(yàn)證機(jī)制,然后通過創(chuàng)建新的pam文件使用新的數(shù)據(jù)文件進(jìn)行登錄驗(yàn)證
- pam文件的db選項(xiàng)用于指定并驗(yàn)證賬戶和密碼的數(shù)據(jù)庫文件,數(shù)據(jù)庫文件無需.db結(jié)尾
- vim /etc/pam.d/vsftpd.pam
- auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
- account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
- 設(shè)置虛擬賬戶的共享目錄
- 所有的虛擬賬號都需要映射到一個真實(shí)的虛擬賬號
- useradd -s /sbin/nologin -d /home/ftp virtual
- echo "hello" > /home/ftp/test.txt
- 修改配置文件
- vim /etc/vsftpd/vsftpd.conf
- 為每個用戶設(shè)置獨(dú)立的共享路徑
- 通過在主配置文件中使用user_config_dir選項(xiàng),設(shè)置一個基于賬戶的配置目錄
- 該目錄下可以創(chuàng)建若干個與賬戶名稱同名的文件,并在文件中此賬戶設(shè)置獨(dú)立的配置選項(xiàng),包括權(quán)限、路徑等
- mkdir /etc/vsftpd_user_conf
- vim /etc/vsftpd_user_conf/susa
- local_root=/home/ftp/$USER
- 重啟服務(wù)
- systemctl restart vsftpd
- 臨時關(guān)閉selinux
- 安裝
- 軟件
- 服務(wù)端
- 客戶端
- ftp
- 多種客戶端軟件
- 安裝
- yum install ftp
- apt install ftp
- 使用
- 使用
- 瀏覽器輸入
- 軟件連接
- 發(fā)現(xiàn)創(chuàng)建目錄失敗可能Selinux問題,修改規(guī)則
- setsebool -P ftpd_full_access=on
- systemctl restart vsftpd.service
- 使用
總結(jié)
以上是生活随笔為你收集整理的Linux服务-FTP文件服务器部署的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习-机器学习概论(入门机器学习基础
- 下一篇: 机器学习-分类之支持向量机(SVM)原理