linux下開啟並配置FTP服務

chengxuyuanyonghu發表於2014-11-19

1. 首先伺服器要安裝ftp軟體,檢視是否已經安裝ftp軟體下:
   #which vsftpd
   如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 檢視ftp 伺服器狀態     
   #service vsftpd status

3. 啟動ftp伺服器     
   #service vsftpd start

4. 重啟ftp伺服器 
   #service vsftpd restart

5. 檢視服務有沒有啟動
   #netstat -an | grep 21
   tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
 
   如果看到以上資訊,證明ftp服務已經開啟。


6.如果需要開啟root使用者的ftp許可權要修改以下兩個檔案


  #vi /etc/vsftpd.ftpusers中註釋掉root


  #vi /etc/vsftpd.user_list中也註釋掉root

  然後重新啟動ftp服務。


8. 永久開啟,即os重啟後自動開啟ftp服務

     cd /etc/xinetd.d ,編輯ftp服務的配置檔案gssftp的設定:
     vi /etc/xinetd.d/gssftp  ,將 修改兩項內容:
   
     (a) server_args = -l –a  去掉-a 改為server_args = -l
     (b) disable=yes改為disable=no
     (c) 儲存退出。




修改FTP伺服器的主配置檔案/etc/vsftpd/vsftpd.conf

該配置檔案是在安裝軟體包的時候自動生成的,不要我們手動建立,我們只需要對它做必要的修改就可以讓FTP伺服器正常執行了.修改示例如下:

 

anonymous_enable=YES             //是否允許匿名訪問,匿名帳戶為 ftp和 anonymous

local_enable=YES                 //是否允許本地使用者訪問

write_enable=YES                 //允許本地使用者訪問時,是否允許他們有寫入的許可權

local_umask=022                  //本地使用者在寫入檔案時,這些檔案預設的許可權

dirmessage_enable=YES

xferlog_enable=YES                //是否啟用日誌

xferlog_std_format=YES            //是否用標準格式儲存日誌

connected_from_port_20=YES       //是否允許從20的連線請求

pam_service_name=vsftpd          //設定PAM認證服務的配置檔名,該檔案位於/etc/pam.d目錄下

listen=YES                      //FTP處於獨立啟動模式

tcp_wraapers=YES                //該伺服器使用tcp_wrappers作為主機訪問控制方式

userlist_enable=YES             //是否檢查vsftpd.user_list中的設定,該檔案在/etc下.(在RHEL5中

                                  該檔案位於/etc/vsftpd中,檔名為user_list

userlist_deny=YES               //該項與上一項一起構成了黑名單,即在vsftpd.user_list中的使用者不

                                  允許訪問該FTP伺服器.當該項設定為NO時,vsftpd.user_list則為白

                                  名單,即只允許在vsftpd.user_list中的使用者訪問該FTP伺服器.

chroot_local_user=YES             //本地使用者登陸時,將其禁錮在FTP根目錄下

chroot_list_file=/etc/vsftpd/chroot_list         //該項和上一項配合使用,當該項不存在時,設定上

                                                  一項為YES後,則所有本地使用者都被禁錮在FTP根

                                                目錄下,該項存在時,則只有該檔案中的使用者被禁錮

max_clients=100                 //FTP伺服器的最大併發連線數

max_per_ip=5                    //每個ip最多建5個連線

local_max_rate=50000                  //本地使用者的最大傳輸速率,單位為B/s

anon_max_rate=10000                    //匿名使用者的最大傳輸速率,單位為B/s

 

3.啟動vsftpd,執行FTP服務

service vsftpd restart

如果想讓FTP伺服器在系統啟動時就提供服務,則需要修改其在系統級別下的執行 狀態

chkconfig --list vsftpd         //檢視在不同系統級別下,vsftpd的執行狀態

chkconfig --level 35 vsftpd on   //設定vsftpd在3 5 系統級別下自動執行



<span style="background-color: rgb(255, 255, 0);">把安全策略關了vi  /etc/selinux/config
selinux=disable</span>




1. 安裝vsftp
使用yum命令直接安裝:yum -y install vsftpd


然後為它建立日誌檔案:touch /var/log/vsftpd.log


2. 啟動與配置自啟動
chkconfig vsftpd on 配置vsftp自動啟動
檢視與管理ftp服務
啟動ftp服務:service vsftpd start
檢視ftp服務狀態:service vsftpd status
重啟ftp服務:service vsftpd restart
關閉ftp服務:service vsftpd stop


3. 配置vsftp服務
編輯/etc/vsftpd/vsftpd.conf檔案 配置vsftp服務
#vi /etc/vsftpd/vsftpd.conf

編輯修改如下專案

userlist_enable=NO


設定只允許vsftpd.user_list檔案中的使用者登入;同樣的道理要把主配置檔案vsftpd.conf 中的語句修改如下兩項: 
userlist_enable=yes
userlist_deny=no
說明:配置完以後,只允許vsftpd.user_list檔案中記錄的ftp使用者能登入vsftp服務,其他的ftp使用者都不可以登入


tcp_wrappers=NO

設定vsftpd是否與tcp wrapper相結合來進行主機的訪問控制。預設值為YES。如果啟用,則vsftpd伺服器會檢查/etc/hosts.allow 和/etc/hosts.deny 中的設定,來決定請求連線的主機,是否允許訪問該FTP伺服器。這兩個檔案可以起到簡易的防火牆功能。


ftp禁止root使用者登入 /etc/vsftpd/ftpusers 是禁止使用者登入的檔案 root就在其中 其中還包括一些其他的系統帳號。

控制使用者訪問:

vsftpd.ftpusers  #用於儲存不允許進行FTP登入的本地使用者帳號。就是vsftp使用者的黑名單

vsftpd.user_list

(1)設定禁止vsftpd.user_list檔案中的使用者登入:要在主配置檔案vsftpd.conf中修改如下兩項,
userlist_enable=yes
userlist_deny=yes

說明:配置完以後,除了vsftpd.ftpusers檔案和vsftpd.user_list檔案中記錄的ftp使用者不能登入vsftp服務以外,其他的ftp使用者都可以登入。
 

(2)設定只允許vsftpd.user_list檔案中的使用者登入;同樣的道理要把主配置檔案vsftpd.conf 中的語句修改如下兩項: 
userlist_enable=yes
userlist_deny=no

 說明:配置完以後,只允許vsftpd.user_list檔案中記錄的ftp使用者能登入vsftp服務,其他的ftp使用者都不可以登入。


其中,/etc/vsftpd/ftpusers 指定哪些使用者不能訪問 ftp 伺服器。

預設情況下,/etc/vsftpd/user_list 中的使用者也無法訪問ftp 伺服器,

只有當 /etc/vsftpd/vsftpd.conf 中的userlist_enable=NO (預設為 yes)時才可以。

相關文章