• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用Linux架設FTP服務器(上)(1)

    發表于:2007-06-13來源:作者:點擊數: 標簽:
    使用文件傳輸協議(FTP)來通過 網絡 在計算機之間傳輸文件是很普遍的一種方法。幾乎在所有的平臺上面都有FTP 的客戶端和服務端的軟件,因此用FTP來傳送文件也是很方便的一個方法。 有很多配置FTP 服務器 的不同方法。其中一種是把FTP配置成只對系統中的用戶

    使用文件傳輸協議(FTP)來通過網絡在計算機之間傳輸文件是很普遍的一種方法。幾乎在所有的平臺上面都有FTP 的客戶端和服務端的軟件,因此用FTP來傳送文件也是很方便的一個方法。

    有很多配置FTP服務器的不同方法。其中一種是把FTP配置成只對系統中的用戶開放的私有服務器,這也是FTP的默認配置。一個私有的FTP服務器只運行系統中的用戶訪問,而且可以對用戶進行訪問控制,這樣可以給予或拒絕特定用戶的訪問權限。

    另一種是把FTP服務器配置成匿名服務器。匿名FTP服務器允許任何人(不管有沒有帳號)訪問服務器并傳輸文件。因為可能存在潛在的安全問題,必須小心配置使得只允許訪問系統中特定的目錄。 在這一節里,我們把FTP配置成“chrooted”的方式,這種配置運行用戶訪問,例如:Web站點的目錄,但是不允許他們訪問更高一層的目錄。

    注意事項

    下面所有的命令都是Unix兼容的命令。

    源路徑都為“/var/tmp”(當然在實際情況中也可以用其它路徑)。

    安裝在RedHat Linux 6.1下測試通過。

    要用“root”用戶進行安裝。

    wu-ftp的版本號是2.6.0。

    編譯和安裝

    把軟件包(tar.gz)解壓縮:

    [root@deep]# cp wu-ftpd-version.tar.gz /var/tmp

    [root@deep]# cd /var/tmp

    [root@deep]# tar xzpf wu-ftpd-version.tar.gz

    編譯和優化

    轉到wu-ftpd的新目錄下,運行下面的命令:

    編輯“ftpcount.c”文件(vi +241 src/ftpcount.c),改變下面這一行:

    #if defined (LINUX)

    改為:

    #if defined (LINUX_BUT_NOT_REDHAT_6_0)

    編輯“pathnames.h.in”文件(vi +42 src/pathnames.h.in),改變下面這一行:

    #define _PATH_EXECPATH "/bin/ftp-exec"

    改為:

    #define _PATH_EXECPATH "/usr/bin/ftp-exec"

    我們把“ftp-exec”從“/bin”目錄改到“/usr/bin”目錄下。

    先設置編譯器的編譯參數:

    CC="egcs"

    CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-

    pointer -fno-exceptions"

    ./configure

    --prefix=/usr

    --sysconfdir=/etc

    --localstatedir=/var

    --disable-dnsretry

    --enable-quota

    --enable-pam

    --disable-daemon

    --disable-newlines

    --disable-virtual

    --disable-plsm

    --disable-pasvip

    --disable-anonymous

    --enable-ls

    --enable-numericuid

    這些編譯參數告訴編譯器如何編譯wu-ftpd:

    不要用失敗的DNS查詢

    加入對定額(QUOTA)的支持(如果OS支持)

    加入對PAM的支持

    不允許作為單獨的daemon運行

    刪除過多的空行

    不支持虛擬服務器

    禁止PID加鎖睡眠消息(用于繁忙的站點)

    被動連接的時候不要求用同樣的IP

    不允許匿名ftp訪問

    使用內部的“ls”命令(試驗性的)

    內部的“ls”命令顯示UID而不顯示用戶名(為了提高速度)

    用下面的命令編譯和安裝軟件:

    make

    make install

    install -m 755 util/xferstats /usr/sbin

    touch /var/log/xferlog

    chmod 600 /var/log/xferlog

    cd /usr/sbin

    ln -sf in.ftpd /usr/sbin/wu.ftpd

    ln -sf in.ftpd /usr/sbin/in.wuftpd

    strip /usr/bin/ftpcount

    strip /usr/bin/ftpwho

    strip /usr/sbin/in.ftpd

    strip /usr/sbin/ftpshut

    strip /usr/sbin/ckconfig

    strip /usr/sbin/ftprestart

    上面的“make”和“make install”可以配置軟件以保證系統中有編譯所需要的函數庫,然后把所有的源文件都編譯成可執行的二進制文件,最后把二進制文件和配置文件安裝到相應的目錄里。

    “install –m”安裝“xferstats”程序,用于統計傳輸了多少文件?!皌ouch”命令為xferstats在“/var/log”目錄下創建日志文件。 “chomod”把“xferlog”的權限改為只對超級用戶“root”可讀和可寫。接著,我們為“in.ftpd”二進制文件創建符號鏈接。最后,用 “strip”命令減小所有二進制文件的大小以提高wu-ftpd的性能。

    清除不必要的文件

    [root@deep]# cd /var/tmp

    [root@deep]# rm -rf wu-ftpd-version/ wu-ftpd-version.tar.gz

    “rm”命令刪除所有編譯和安裝wu-ftpd所需要的源程序,并且把wu-ftpd軟件的壓縮包刪除掉。

    為FTP站點的用戶建立沒有shell的帳號

    首先,創建一個新的用戶,這個用戶被允許連接到ftp服務器上。因為要有“chroot”的環境,這個帳號不同于正常的用戶帳號,不能受訪問限制?!癱hroot”使用戶產生這樣的感覺好像自己已經在文件系統的最頂層了。

    第一步

    用下面的命令在“/etc/passwd”文件中創建用戶。對于每個允許訪問ftp服務器的新用戶都要重復這個步驟。

    [root@deep]# mkdir /home/ftp

    [root@deep]# useradd -d /home/ftp/ftpadmin/ -s /dev/null ftpadmin > /dev/null 2>&1

    [root@deep]# passwd ftpadmin

    Changing password for user ftpadmin

    New UNIX password:

    Retype new UNIX password:

    passwd: all authentication tokens updated suclearcase/" target="_blank" >ccessfully

    第二步

    編輯“/etc/shells”文件并加入一個空shell,如:null。這個假的shell可以限制用戶對ftp服務器的訪問。

    [root@deep]# vi /etc/shells

    /bin/bash

    /bin/sh

    /bin/ash

    /bin/bsh

    /bin/tcsh

    /bin/csh

    /dev/null ? This is our added no existent shell

    第三步

    現在編輯“/etc/passwd”文件,手工加上“/./”把“/home/ftp”目錄和“/ftpadmin”目錄分開,用戶 “ftpadmin”會自動轉到(chdir)“/ftpadming”目錄下。在“passwd”文件中每添加一個ftp用戶都要重復這個步驟。

    編輯“passwd”文件(vi /etc/passwd),把下面這一行改為:

    ftpadmin:x:502:502::/home/ftp/ftpadmin/:/dev/null

    改為:

    ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null


    共2頁: 1 [2] 下一頁

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>