搭建FTP服務器
FTP:文件傳輸協議,工作模式[客戶端/服務器]
FTP:服務端口號:tcp/21,tcp20
- 主動模式:
從服務器方主動發送鏈接tcp21
- 被動模式:
從客戶端發送鏈接請求tcp20
- 訪問方式
系統用戶:anxing,stu1,…
虛擬用戶:ftp
匿名用戶:/bin/nologin
ftp服務安裝
- yum安裝
原理:自動到軟件倉庫去下載相應的軟件包進行自動安裝
軟件存放的位置(軟件倉庫):
網絡源:http://... 或 https://
FTP源:ftp://.....
本地源:file://....
yum源文件存放位置(必須在這個位置):cd /etc/yum.repos.d/
系統默認源文件:
可以製作本地yum源文件:
可以製作阿里雲網絡免費源文件:
製作源文件時必須把:、etc/yum/repos.d/下的文件備份。默認是用系統的。必須刪除
後製作。
yum安裝命令:
1. rpm -qa | grep 軟件名稱 :查看軟件是否已經安裝
2. 列出倉庫的所有軟件包:yum list | grep vsftpd :能找到表示系統yum源可以用。
3. 安裝軟件:yum install 軟件包名稱
4. 卸載軟件:yum remove 軟件包名稱
生成之前需要切換到指定用戶
ssh-keygen -t rsa
第一個回車就好
第二個設置配對的密碼:例123456
在.ssh文件下有連個文件:id_rsa存放私鑰的文件
存放公鑰的文件(id_rsa.pub)改爲:authorized_keys
其他用戶要登錄:把id_rsa
如果要以student用戶登錄,公鑰文件應該放在那裏
5. 清除yum緩存:yum clean all
6. 生成yum緩存: yum makecache
1.使用默認yum源安裝包
安裝命令:#yum install vsftpd ftp
vsftpd:server服務端
ftp:client客戶端
查看安裝是否完成:rpm -qa | grep vsftpd
rpm -qa |grep ftp
2.啓動vsftpd服務
#systemctl start vsftpd:啓動服務
#systemctl status vsftpd:查看服務狀態
#systemctl enable vsftpd:開機自啓
配置防火牆:
關閉防火牆:systemctl stop firewalld
查看安全機制狀態:getenforce
關閉安全機制:setenforce 0
3.訪問ftp服務器
1).Linux系統中使用ftp命令訪問
ftp 127.0.0.1
輸入用戶名稱:匿名用戶名稱:ftp
不需要輸入密碼
默認訪問目錄:/var/ftp
2).在win客戶端訪問ftp服務器
ftp軟件
瀏覽器:ftp://192.168.133.128
電腦文件搜索:ftp://192.168.133.128
3).匿名用戶訪問
-
修改配置文件:/etc/vsftpd/vsftpd.conf
-
找到:anonymous_eanble=YES :允許匿名用戶訪問
-
local_eanble=YES :本地用戶也可以訪問
-
anon…開頭的:是針對匿名用戶的設置
-
添加:no_anon_password=YES :表示匿名用戶不輸入密碼
-
可以設置警告信息:ftpd_banner= welcome to our home!
-
修改配置文件使win等可以上傳文件:
找到:anon_upload_eanble=YES :YES允許上傳
找到:anon_mkdir_write_eanble=YES :YES可以新建,寫入文件
添加:anon_other_write_enable=YES :yes具有刪除權限。
重啓服務:systemctl restart vsftpd
任然不能上傳:文件pub沒有權限寫入。
要ftp服務和pub文件權限都有寫入權限,才能寫入。
添加權限:1. chmod777 pub :不推薦使用
2.setfacl -m u:ftp:rwx pub 推薦使用
如果還不能訪問:查看setenforce 0 是否修改。
- umask值:
決定了新建文件和文件夾的默認權限
umask值的表示方法:
文件夾:0777 - 0022 =0755權限
文件:0666- 0022 = 0644 權限
umask 0055 :修改umask
創建的文件的權限將變化。
- 默認訪問的目錄是:/var/ftp/
可以設置:vim /etc/vsftpd/vsftpd.conf
添加:anon_root=/var/public
不可以設置爲其他用戶的家目錄。
4.配置系統用戶訪問
關閉匿名用戶訪問,只允許系統用戶訪問。
1.#vim /etc/vsftpd/vsftpd.conf
2.修改:
anonymous_enable=no:關閉匿名用戶訪問
local_eanble=YES:允許系統用戶訪問
local_umask=022:設置umask
3.重啓服務:systemctl restart vsftpd
4.登錄以後默認訪問用戶家目錄,具有上傳,新建,刪除權限,還可以切換到系統的其他目錄
設置只能訪問自己的目錄並具有所有權限,不允許切換到系統的其他目錄
5.限制用戶登錄
1.黑名單文件(禁止):/etc/vsftpd/ftpusers 白名單(允許):/etc/vsftpd/user_list
2. vim /etc/vsftpd/vsftpd.conf
3. 啓用userlist用戶列表(系統默認設置):userlist_enable=YES
4. 只允許列表中的用戶登錄:userlist_deny=NO
6.vsftpd日誌管理
#vim /etc/vsftpd.conf
查看: xferlog_enable=YES :開啓ftp服務器記錄上傳下載的情況。
xferlog_std_format=YES :日誌格式
xferlog_file=路徑 :指定日誌文件
7.配置虛擬用戶訪問ftp服務器
1. 創建虛擬用戶:/bin/nologin
2. 創建用戶列表(更系統用戶沒有任何關係)——> 生成用戶列表數據
庫
3. 認證文件 :建立對應關係
4. 權限:用戶配置文件。
8.FTP服務器安全加固
FTP服務器存在的安全隱患及安全加固方法:
1.人們都知道他是21號端口,所以改端口是一種加固方法。
2.匿名用戶可以訪問FTP服務器,所以不可取。
3.系統用戶可以訪問,但是可以切換到其他目錄,限制用戶訪問是一種加固方法。
4.根據ftp服務器不同的應用環境做出不同的加固方案
詳細的加固方案見如下鏈接,希望對你有幫助。
https://www.cnblogs.com/sevck/p/5007045.html