【Linux】centos 7 linux系統預設ftp安裝配置和部署(詳細講解)
小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路 高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝!
一、宣告:
本文采用作業系統版本: Centos 7 Linux系統 版本源:CentOS-7-x86_64-DVD-1708.iso 官網下載地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso 安裝包選擇:最小安裝包 使用者無,只有root使用者。
二、安裝 vsftpd
2.1 檢測系統是否已安裝 vsftpd
三、啟動 vsftpd
啟動:[[email protected] ~]# systemctl start vsftpd.service
設定開機自啟: [
系統顯示如下資訊:Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
思考:小生將本段資訊進行了顏色標記,從中可以看出,如果想讓一個程序開機自啟動,使用 systemctl enable XXXX.service 命令就是
讓這個程式自己的啟動配置建立一個連結到系統的啟動配置檔案下,系統開機的時候就能執行 /usr/lib/systemd/system/ 檔案下的配置檔案對應的程式。
有時間可以去那裡窺探一下研究一下。
四、配置檔案
4.1 配置檔案 /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 不允許匿名訪問,禁用匿名登入 chroot_local_user=YES # 啟用限定使用者在其主目錄下 use_localtime=YES # 使用本地時(自行新增) chroot_list_enable=YES local_enable=YES # 允許使用本地帳戶進行FTP使用者登入驗證 allow_writeable_chroot=YES # 如果啟用了限定使用者在其主目錄下需要新增這個配置,解決報錯 500 OOPS: vsftpd: refusing to run with writable root inside chroot() xferlog_enable=YES # 啟用上傳和下載的日誌功能,預設開啟。 local_umask=022 # 設定本地使用者預設檔案掩碼022 # FTP上本地的檔案許可權,預設是077,不過vsftpd安裝後的配置檔案裡預設是022 - 注意:vsftpd 配置檔案如果修改,需要重新啟動 vsftpd :systemctl restart vsftpd.service
4.2 防火牆設定
使用 dos 視窗進行 ping linux i地址 如果成功會出現:ftp 連結成功的資訊,一般第一次配置的情況下,系統的防火牆是開啟的,因此需要關閉防火牆或者設定防火牆的配置 檢視防火牆狀態: [[email protected] ~]# systemctl status firewalld.service
一般情況下,如果外部無法連結 vsftp ,排除網路的問題,很有可能是防火牆在作祟。
開啟防火牆: [[email protected] ~]# systemctl start firewalld.service 關閉防火牆: [[email protected] ~]# systemctl stop firewalld.service 重啟防火牆: [[email protected] ~]# systemctl restart firewalld.service 禁止開機啟動: [[email protected] ~]# systemctl disable firewalld.service 開啟開機啟動: [[email protected] ~]# systemctl enable firewalld.service 說明:如果你不願意關閉防火牆,需要防火牆新增FTP服務。 firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload
4.3 檢測是否成功連結
4.3.1 先在 linux 系統上進行檢測:[[email protected] ~]# ftp localhost(本主機名稱)
出現提示登入使用者名稱,小生使用匿名使用者登入 anonymous(密碼未設定,所以為空),輸入 ls 命令可顯示資訊,效果如圖:
4.3.2 使用 windows ping 一下 linux 伺服器,檢查是否能聯網
從下圖可以看出,windows 能與 linux 網路聯通,當可以正常聯通網路再進行 ftp 連結測試,
也可使用 root 帳號進行登入,root 帳號登入之後可以作業系統內任意檔案。以下章節列出可以連結之後通過 ftp 軟體連結後出現的一些常見問題解決方案。
4.4 常見 ftp 連結問題
連結 ftp 的時候如果出現無法訪問目錄列表問題: 檢視ftp的Selinux狀態: [[email protected] ~]# sestatus -b | grep ftp 將狀態改為on: [[email protected] ~]# setsebool -P tftp_home_dir on (注意:P為大寫) [[email protected] ~]# setsebool -P ftpd_full_access on (注意:P為大寫)