成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

用vsftpd構建FTP服務器

2010-08-28 10:48:52來源:西部e網作者:

    在Linux下如何使用vsftpd構建FTP服務器,構建后的FTP服務器有哪些特點?本文將作詳細介紹。

    vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開發源代碼的ftp服務器軟件,支持很多其他的 FTP 服務器所不支持的特征。比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可創建虛擬用戶、支持IPv6、速率高等。

    本文以RedHat Linux 9.0為例介紹一下如何安裝和配置vsftpd服務器。

    安裝服務器程序

    程序下載地址:ftp://vsftpd.beasts.org/users/cevans/,目前最新版本為2.0.3,源程序文件名為vsftpd-2.0.3.tar.gz。

    1.安裝之前的準備:

    安裝之前我們應該看看用戶“nobody”和目錄“/usr/share/empty”是否存在,如果不存在需要新建這個用戶和目錄。

  [root@localhost root]# useradd nobody

  [root@localhost root]# mkdir /usr/share/empty

    如果要允許匿名訪問,還需要創建ftp用戶,并將其主目錄設置為/var/ftp。在RedHat Linux 9.0中這些都已默認設置好了,只需要創建一個/var/ftp目錄即可。

    [root@localhost root]# mkdir /var/ftp

    為了安全,目錄“/var/ftp”不應該屬于用戶“ftp”,也不應該有寫權限。在此,我們做如下設置:

    [root@localhost root]# chown root.root /var/ftp

    [root@localhost root]# chmod 755 /var/ftp

    2.開始安裝:

    以管理員身份登錄Linux系統,將vsftpd-2.0.3.tar.gz復制到/root目錄下。

    [root@localhost root]# tar xzvf vsftpd-2.0.3.tar.gz

    [root@localhost root]# cd vsftpd-2.0.3

    [root@localhost vsftpd-2.0.3]# make

    [root@localhost vsftpd-2.0.3]# make install

    3.安裝后續工作

    由于采用源代碼方式安裝,很多必要的配置文件沒有復制到系統中,需要手動復制。

    復制配置文件:

    [root@localhost vsftpd-2.0.3]# cp vsftpd.conf /etc
    復制pam驗證文件:(多數使用vsftpd的用戶在用源代碼安裝后都會遇到這樣的問題:匿名用戶可以登錄,而本地用戶無論怎樣設置都無法登錄,原因就在于vsftpd采用了PAM驗證的方式,需要復制一個驗證文件本地用戶才能訪問。)

    [root@localhost vsftpd-2.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
vsftpd的配置

    vsftpd服務器的配置文件為/etc/vsftpd.conf,其配置選項比較多,在此我只選擇幾個常用的配置選項介紹。

    1.禁止匿名用戶訪問。

    anonymous_enable=NO

    2.允許本地用戶登錄并允許其上傳文件。

    local_enable=YES

    write_enable=YES

    要使上述選項生效,必須復制一個pam驗證文件到/etc/pam.d,并改名為ftp。當然也可以改為其他名稱,但必須修改pam_service_name的值,默認為ftp。

    3.將本地用戶鎖定在主目錄中,不允許切換到上一級目錄中。

    chroot_local_user=YES

    4.禁止某些用戶通過ftp登錄服務器。

  如果設置了local_enable=YES,那么所有的用戶包括root也能通過ftp登錄服務器,出于安全考慮,需要對某些用戶進行限制。

    在vsftpd.conf中有三個選項控制:

    userlist_deny=YES/NO

    userlist_enalbe=YES

    userlist_file=/etc/vsftpd.user_list

    如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用戶名就不允許登錄ftp服務器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用戶名允許登錄ftp服務器。

    我們只要在/etc目錄下創建vsftpd.user_list文件,文件內容為允許登錄或禁止登錄的用戶名,每個用戶占一行。

    5.禁止用戶通過FTP修改文件或文件夾的權限。

    chmod_enable=NO(默認值為YES)

    6.設置本地用戶上傳的文件或文件夾的umask值。

    local_umask=022(默認值為077)

    umask的值設為022表示,上傳的如果是文件將權限改為644,如果是文件夾將權限改為755。在上傳網頁時,如果設置為077,就會出現用戶沒有權限(Permission denied)訪問網頁的問題,所以建議將umask的值設為022。

    7.添加一個只能從ftp登錄服務器,而不能從本地登錄的用戶。以下創建一個用戶ftpuser,不允許從本地登錄,并創建該用戶的密碼。

    [root@localhost root]# useradd –g ftp –s /sbin/nologin ftpuser

    [root@localhost root]# passwd ftpuser

    Changing password for user ftpuser.

    New password:

    Retype new password:

    passwd: all authentication tokens updated successfully.

    8.讓vsftp服務器限制總的連接數以及每個IP最大的連接數。

    #最多同時允許100個客戶連接

  max_clients=100

    #每個ip地址最多允許開3個線程

  max_per_ip=3

  vsftpd的配置文件中有很多選項,但個人認為,如果是架設一個簡單的ftp服務器,以上選項就足夠了。

關鍵詞:vsftpdFTP服務器

贊助商鏈接:

主站蜘蛛池模板: 界首市| 柯坪县| 稻城县| 策勒县| 抚顺县| 江孜县| 潞西市| 滨海县| 安徽省| 米脂县| 江津市| 泗阳县| 西贡区| 海原县| 九寨沟县| 永丰县| 岐山县| 长子县| 舟山市| 辰溪县| 白银市| 房产| 颍上县| 浮山县| 平陆县| 伊宁县| 喀什市| 淅川县| 宁国市| 佛教| 确山县| 石台县| 巩留县| 肇东市| 邛崃市| 遂宁市| 城步| 永仁县| 延庆县| 阿荣旗| 临泽县|