CentOS–FTP安裝與配置

轉:http://blog.techippo.org/archives/348

 

1.安裝vsftpd

yum install vsftpd

2.啓動/重啓/關閉vsftpd服務器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

OK表示重啓成功了.
啓動和關閉分別把restart改爲start/stop即可.
如果是源碼安裝的,到安裝文件夾下找到start.sh和shutdown.sh文件,執行它們就可以了.

3.與vsftpd服務器有關的文件和文件夾
vsftpd服務器的配置文件的是: /etc/vsftpd/vsftpd.conf

vsftpd服務器的根目錄,即FTP服務器的主目錄:
[root@localhost ftp]# more /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

這樣你就能看到FTP的服務器的目錄在/var/ftp處
如果你想修改服務器目錄的路徑,那麼你只要修改/var/ftp到別處就行了

4.添加FTP本地用戶
有的FTP服務器需要用戶名和密碼才能登錄,就是因爲設置了FTP用戶和權限.
FTP用戶一般是不能登錄系統的,只能進入FTP服務器自己的目錄中,這是爲了安全.這樣的用戶就叫做虛擬用戶了.實際上並不是真正的虛擬用戶,只是不能登錄SHELL了而已,沒能力登錄系統.

/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

這個命令的意思是:
使用命令(adduser)添加ftpuser用戶,不能登錄系統(-s /sbin/nologin),自己的文件夾在(-d /opt/ftp)),屬於組ftp(-g ftp)
然後你需要爲它設置密碼 passwd ftp
這樣就添加了一個FTP用戶了.下面的示例可以幫助你進入FTP服務器了.

要保證自己能讀寫自己的目錄,就要在配置文件vsftpd.conf裏設置一下就可以讀寫了.
local_enable=yes
write_enable=yes
local_umask=022

5.匿名上傳下載
修改配置文件即可vsftpd.conf,確定有以下幾行,沒有自己添加進去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022

然後你可以新建一個文件夾,修改它的權限爲完全開放,任何用戶就可以登錄這個文件夾,並上傳下載文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest

6.定製進入FTP服務器的歡迎信息
在vsftpd.conf文件中設置:
dirmessage_enable=yes
然後進入用戶目錄建立一個.message文件,輸入歡迎信息即可。

7.實現虛擬路徑
將某個目錄掛載到FTP服務器下供用戶使用,這就叫做虛擬路徑.
比如將gxl用戶的目錄掛載到FTP服務器中,供FTP服務器的用戶使用,使用如下命令即可:
[root@localhost opt]# mount –bind /home/gxl /var/ftp/pub #使用掛載命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面

8.打開vsFTPd的日誌功能
添加下面一行到vsftpd.conf文件中,一般情況下該文件中有這一行,只要把前面的註釋符號#去掉即可,沒有的話就添加,或者修改:
xferlog_file=/var/log/vsftpd.log

9.限制鏈接數,以及每個IP最大的鏈接數
修改配置文件中,例如vsftp最大支持鏈接數100個,每個IP能支持5個鏈接:
max_client=100
max_per=5

10.限制傳輸速度
修改配置文件中,例如讓匿名用戶和vsftd上的用戶(即虛擬用戶)都以80KB=1024*80=81920的速度下載
anon_max_rate=81920
local_max_rate=81920

11.將用戶(一般指虛擬用戶)限制在自家目錄
修改配置文件中,這樣用戶就只能訪問自己家的目錄了:
chroot_local_user=yes
如果只想某些用戶僅能訪問自己的目錄,其它用戶不做這個限制,那麼就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用戶.
編輯此文件,比如將test用戶添加到此文件中,那麼將其寫入即可.一般的話,一個用戶佔一行.
[root@localhost vsftpd]# cat chroot_list
ftpuser

12.綁定某個IP到vsFTPd
有時候要限制某些IP訪問服務器,只允許某些IP訪問,例如只允許192.168.0.33訪問這個FTP,同樣修改配置文件:
listen_address=192.168.0.33

 

配置vsftpd.conf
                       
 anonymous_enable=NO            #禁止匿名
                         local_enable=YES                       #允許本地登錄
                   write_enable=YES                        #允許寫,如需上傳,則必須
                   local_umask=027                        #將上傳文件的權限設置爲:777-local_umask
                   anon_upload_enable=YES          # 允許虛擬用戶和匿名用戶上傳
                   anon_other_write_enable=YES
#允許虛擬用戶和匿名用戶修改文件名和刪除文件
                   dirmessage_enable=YES          
                   xferlog_enable=YES                      #打開日誌記錄
                   connect_from_port_20=YES
                   xferlog_file=/var/log/vsftpd.log    
#日誌存放位置
                   xferlog_std_format=YES              #標準日誌格式
                   idle_session_timeout=600        #空閒連接超時
                   data_connection_timeout=120
                   ftpd_banner=Welcome to ChinaRise FTP service       #歡迎信息
                   guest_enable=yes                       #允許虛擬用戶
                   guest_username=vsftpdguest
#虛擬用戶使用的系統賬號
                   virtual_use_local_privs=YES     #虛擬用戶擁有本地系統權限

                   chroot_local_user=NO             
                   chroot_list_enable=YES

                    
#以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用                           
                   chroot_local_user=YES
                              

                   listen=yes                #監聽/被動模式
                   listen_port=21        #監聽端口

                   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list        #虛擬用戶名單保存在文件 /etc/vsftpd/vsftpd.chroot_list 中
                  
user_config_dir=/etc/vsftpd/vsftpd_user_conf    #每個虛擬用戶名的更加詳細的培植保存在 /etc/vsftpd/vsftpd_user_conf 中

虛擬用戶其他設置

      在/etc/vsftpd/vsftpd.chroot_list 文件中寫入允許登陸的虛擬用戶名稱,每行一個
     
在/etc/vsftpd/vsftpd_user_conf 文件夾中創建一個以虛擬用戶用戶名命名的文件,
      寫入:
local_root = /var/FTP/子目錄名
      然後在/var/FTP下創建一個對應的目錄即可

 

========================================================

CentOS下開通Ftp和Telnet服務

在安裝好CentOS以後,需要設置Ftp和Telnet服務文件,才能啓動Ftp和Telnet服務,可以通過遠程控制進行開啓。

1.1、進入終端命令模式,用root用戶登錄;

1.2、開啓ftp服務。

  cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp:

  vi gssftp ,將 修改兩項內容:

  (1)server_args = -l –a 去掉-a 改爲server_args = -l

  (2)disable=yes改爲disable=no

  (3)保存退出。

1.3、開啓telnet服務

 
   cd /etc/xinetd.d ,察看telnet服務的配置文件krb5-telnet的設置:$ {! b7 r0 A8 d. z

   開啓telnet服務設置

   vi krb5-telnet ,

  (1)將disable=yes,改爲disable=no,保存退出。

1.4、激活服務:

  telnet /ftp 是掛在 xinetd 底下的,所以自然只要重新激活 xinetd 就能夠將 xinetd 裏頭的設定重新讀進來,所以剛剛設定的telnet /ftp自然也就可以被激活。

  激活目錄和命令:

  cd /etc/rc.d/init.d/

  service xinetd restart

  有時會提示命令不存在,需要加上命令的路徑

  [root@localhost init.d]# service xinetd resart

  bash: service: command not found

  [root@localhost init.d]# /sbin/service xinetd restart

    若提示xinetd: 未被識別的服務,則說明/etc/rc.d/init.d下無xinetd包

  [root@localhost init.d]# yum -y install xinetd*   //下載xinetd包

    [root@localhost init.d]# service xinetd resart    //重新啓動FTP、Telnet服務

    這樣既可ftp登陸到服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章