centos FTP伺服器的架設和配置

來源:互聯網
上載者:User

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伺服器的主目錄:
在/var/ftp處pub處
如果你想修改伺服器目錄的路徑,那麼你只要修改/var/ftp到別處就行了

4.添加FTP本機使用者
有的FTP伺服器需要使用者名稱和密碼才能登入,就是因為設定了FTP使用者和許可權.
FTP使用者一般是不能登入系統的,只能進入FTP伺服器自己的目錄中,這是為了安全.這樣的使用者就叫做虛擬使用者了.實際上並不是真正的虛擬使用者,只是不能登入SHELL了而已,沒能力登入系統.

/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin test
這個命令的意思是:
使用命令(adduser)添加test使用者,不能登入系統(-s /sbin/nologin),自己的檔案夾在(-d /opt/test_ftp)),屬於組ftp(-g ftp)
然後你需要為它設定密碼 passwd test
這樣就添加了一個FTP使用者了.下面的樣本可以協助你進入FTP伺服器了.

[root@localhost ftp]# ftp
ftp> open 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.

在windows中,只要在瀏覽器中輸入 ftp://192.168.0.33 進入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檔案,輸入歡迎資訊即可(我這裡寫入的是Welcome to gxlinux's FTP!):
[root@localhost test_ftp]# ftp 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230-Welcome to gxlinux's FTP!
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

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
test

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下建立一個對應的目錄即可

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.