Linux 下常用壓縮文件的解壓、壓縮
Maven 安裝和配置
CentOS 網絡設置
TeamCity 安裝和配置
Zsh 入門
Bash 其他常用命令
Bash 常用命令
Ubuntu 介紹
Ubuntu 網絡相關設置問題
Nginx 安裝和配置
Linux-Tutorial
Nexus 安裝和配置
黑客入侵檢查
Yum 下載安裝包及對應依賴包
Tomcat 8 安裝和配置、優(yōu)化
Ubuntu 安裝和分區(qū)
FTP 安裝
-
查看是否已安裝:
- CentOS:
rpm -qa | grep vsftpd
- Ubuntu:
dpkg -l | grep vsftpd
- 安裝:
- CentOS 6:
sudo yum install -y vsftpd
- Ubuntu:
sudo apt-get install -y vsftpd
FTP 使用之前要點
- 關閉 CentOS 上的 SELinux 組件(Ubuntu 體系是沒有這東西的)。
- 查看 SELinux 開啟狀態(tài):
sudo getenforce
- 有如下三種狀態(tài),默認是 Enforcing
- Enforcing(開啟)
- Permissive(開啟,但是只起到警告作用,屬于比較輕的開啟)
- Disabled(關閉)
- 臨時關閉:
- 臨時開啟:
- 永久關閉:
- 命令:
sudo vim /etc/selinux/config
- 將:
SELINUX=enforcing 改為 SELINUX=disbaled,配置好之后需要重啟系統(tǒng)。
FTP 服務器配置文件常用參數(shù)
- vsftpd 默認是支持使用 Linux 系統(tǒng)里的賬號進行登錄的(登錄上去可以看到自己的 home 目錄內容),權限跟 Linux 的賬號權限一樣。但是建議使用軟件提供的虛擬賬號管理體系功能,用虛擬賬號登錄。
- 配置文件介紹(記得先備份):
sudo vim /etc/vsftpd/vsftpd.conf,比較舊的系統(tǒng)版本是:vim /etc/vsftpd.conf
- 該配置主要參數(shù)解釋:
- anonymous_enable=NO #不允許匿名訪問,改為YES即表示可以匿名登錄
- anon_upload_enable=YES #是否允許匿名用戶上傳
- anon_mkdir_write_enable=YES #是否允許匿名用戶創(chuàng)建目錄
- local_enable=YES #是否允許本地用戶,也就是linux系統(tǒng)的已有賬號,如果你要FTP的虛擬賬號,那可以改為NO
- write_enable=YES #是否允許本地用戶具有寫權限
- local_umask=022 #本地用戶掩碼
- chroot_list_enable=YES #不鎖定用戶在自己的家目錄,默認是注釋,建議這個一定要開,比如本地用戶judasn,我們只能看到/home/judasn,沒辦法看到/home目錄
- chroot_list_file=/etc/vsftpd/chroot_list #該選項是配合上面選項使用的。此文件中的用戶將啟用 chroot,如果上面的功能開啟是不夠的還要把用戶名加到這個文件里面。配置好后,登錄的用戶,默認登錄上去看到的根目錄就是自己的home目錄。
- listen=YES #獨立模式
- userlist_enable=YES #用戶訪問控制,如果是YES,則表示啟用vsftp的虛擬賬號功能,虛擬賬號配置文件是/etc/vsftpd/user_list
- userlist_deny=NO #這個屬性在配置文件是沒有的,當userlist_enable=YES,這個值也為YES,則user_list文件中的用戶不能登錄FTP,列表外的用戶可以登錄,也可以起到一個黑名單的作用。當userlist_enable=YES,這個值為NO,則user_list文件中的用戶能登錄FTP,列表外的用戶不可以登錄,也可以起到一個白名單的作用。如果同一個用戶即在白名單中又在ftpusers黑名單文件中,那還是會以黑名單為前提,對應賬號沒法登錄。
- tcp_wrappers=YES #是否啟用TCPWrappers管理服務
- FTP用戶黑名單配置文件:
sudo vim /etc/vsftpd/ftpusers,默認root用戶也在黑名單中
- 控制FTP用戶登錄配置文件:
sudo vim /etc/vsftpd/user_list
- 啟動服務:
vsftpd 的兩種傳輸模式
- 分為:主動模式(PORT)和被動模式(PASV)。這兩個模式會涉及到一些端口問題,也就涉及到防火墻問題,所以要特別注意。主動模式比較簡單,只要在防火墻上放開放開 21 和 20 端口即可。被動模式則要根據情況放開一個端口段。
- http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/images/FTP-a-1.jpg" alt="vsftpd 的兩種傳輸模式" />
- 上圖箭頭:xftp 新建連接默認都是勾選被動模式的,所以如果要使用主動模式,在該連接的屬性中是要去掉勾選。
vsftpd 的兩種運行模式
- 分為:xinetd 模式和 standalone 模式
- xinetd 模式:由 xinetd 作為 FTP 的守護進程,負責 21 端口的監(jiān)聽,一旦外部發(fā)起對 21 端口的連接,則調用 FTP 的主程序處理,連接完成后,則關閉 FTP 主程序,釋放內存資源。好處是資源占用少,適合 FTP 連接數(shù)較少的場合。
- standalone 模式:直接使用 FTP 主程序作為 FTP 的守護進程,負責 21 端口的監(jiān)聽,由于無需經過 xinetd 的前端代理,響應速度快,適合連接數(shù) 較大的情況,但由于 FTP 主程序長期駐留內存,故較耗資源。
- standalone 一次性啟動,運行期間一直駐留在內存中,優(yōu)點是對接入信號反應快,缺點是損耗了一定的系統(tǒng)資源,因此經常應用于對實時反應要求較高的 專業(yè) FTP 服務器。
- xinetd 恰恰相反,由于只在外部連接發(fā)送請求時才調用 FTP 進程,因此不適合應用在同時連接數(shù)量較多的系統(tǒng)。此外,xinetd 模式不占用系統(tǒng)資源。除了反應速度和占用資源兩方面的影響外,vsftpd 還提供了一些額外的高級功能,如 xinetd 模式支持 per_IP (單一 IP)限制,而 standalone 模式則更有利于 PAM 驗證功能的應用。
- 配置 xinetd 模式:
- 編輯配置文件:
sudo vim /etc/xinetd.d/vsftpd
- 屬性信息改為如下信息:
- disable = no
- socket_type = stream
- wait = no #這表示設備是激活的,它正在使用標準的TCP Sockets
- 編輯配置文件:
sudo vim /etc/vsftpd/vsftpd.conf
- 如果該配置選項中的有
listen=YES,則要注釋掉
- 重啟 xinetd 服務,命令:
sudo /etc/rc.d/init.d/xinetd restart
- 配置 standalone 模式:
- 編輯配置文件:
sudo vim /etc/xinetd.d/vsftpd
- 屬性信息改為如下信息:
- 編輯配置文件:
sudo vim /etc/vsftpd/vsftpd.conf
- 屬性信息改為如下信息:
- 重啟服務:
sudo service vsftpd restart
FTP 資料