亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux下proftpd的安裝配置與管理方法

添加時間:2011-4-20  添加: admin 
一. proftpd 簡介。

  proftpd是一款開放源碼的ftp服務器軟件,它是原來世界范圍使用最廣泛的wu-ftpd的改進版,它修正了wu-ftpd的許多缺陷,在許多方面進行了重大的改進,其中一個重要變化就是它學習了Apache 的配置方式,使proftpd的配置和管理更加簡單易懂。本文將介紹它在Red hat Linux 9中最基本的安裝和配置。

  二.軟件的相關資源。

  官方網站:http://www.proftpd.org/

  源碼軟件包:proftpd是開源的軟件,可以去其官方網站下載。目前最新穩定版本為1.2.10。

  幫助文檔: 該軟件包中包含。

  FAQ:該軟件包中包含。

  配置文件樣例:該軟件包中包含。

  三.軟件的安裝。

  1.安裝

  由其官方網站中下載其源碼軟件包proftpd-1.2.10. tar.gz。接下來我將對安裝過程的一些重要步驟,給出其解釋:

  [root@localhost root]

  #tar xzvf proftpd-1.2.10. tar.gz

  [root@localhost root]

  #cd bind-9.3.1

  [root@localhost bind-9.3.1]

  #./configure

  [root@localhost bind-9.3.1]

  #make

  [root@localhost bind-9.3.1]

  #make install

  tar xzvf bind-9.3.1.tar.gz 解壓縮軟件包。

  ./configure 針對機器作安裝的檢查和設置,大部分的工作是由機器自動完成的,但是用戶可以通過一些參數來完成一定的設置,其常用選項有:

  ./configure --help 察看參數設置幫助。

  --enable-ipv6 支持ipv6。

  可以設置的參數很多,可以通過 -help察看需要的,一般情況下,默認設置就可以了。

  默認情況下,安裝過程應該建立了:

  proftpd的deamon為/usr/local/sbin/proftpd

  proftpd的配置文件,/usr/local/etc/proftpd.conf。

  2.啟動:

  [root@localhost root]

  # /usr/local/sbin/proftpd -c

  /usr/local/etc/proftpd.conf

  -c選項用來指定配置文件的位置,不指定的話默認位置是 /usr/local/etc/proftpd.conf 。

  正常情況下proftpd應該啟動了,ps aux 應該可以查到proftpd的進程,或netstat -an 也可以看到21端口的服務已經起來了。(ftp默認端口)

  如果要設置開機自啟動ftp server,只需在/etc/rc.d/rc.local中加入一行

  /usr/local/sbin/proftpd

  #!/bin/sh

  #

  # This will be executed

  *after* all the other init s.

  # You can put your own

  initialization stuff in here if you don't

  # want to do the full Sys V style init stuff.

  touch /var/lock/subsys/local

  /usr/local/sbin/proftpd

  四.軟件的配置。

  1.初始配置文件

  默認配置文件的位置為:

  /usr/local/etc/proftpd.conf (如果文件不存在可以從壓縮包中把配置文件樣例拷貝過來即可)下面逐項分析其中一些常選項:(#后面的部分是注釋)

  # This is a basic ProFTPD

  configuration file

  (rename it to

  # 'proftpd.conf' for actual use.

  It establishes a single server

  # and a single anonymous login.

  It assumes that you have a user/group

  # "nobody" and "ftp" for normal

  operation and anon.

  ServerName "

  ServerType

  standalone

  DefaultServer

  on

  # Port 21 is the standard FTP port.

  Port 21

  ServerType 指定FTP Server 的啟動類型,一般使用standalone方式比較簡單,如果訪問量不大,為節省資源考慮用xinetd偵聽啟動,必須在這里指定。Port 指定FTP的偵聽端口,一般使用21端口

  # Umask 022 is a good standard

  umask to prevent new dirs and files

  # from being group and world writable.

  Umask 022

  # To prevent DoS attacks, set the

  maximum number of child processes

  # to 30. If you need to allow

  more than 30 concurrent connections

  # at once, simply increase this value.

  Note that this ONLY works

  # in standalone mode, in inetd mode

  you should use an inetd server

  # that allows you to limit maximum

  number of processes per service

  # (such as xinetd).

  MaxInstances 30

  Umask 指定FTP server 進程的Umask 值,022與Linux系統得默認值一致。

  MaxInstances 指定 FTP server 的最大連接數。

  # Set the user and group under

  which the server will run.

  User nobody

  Group nogroup

  # To cause every FTP user to be

  "jailed" (chrooted) into their home

  # directory, uncomment this line.

  #DefaultRoot ~

  DefaultRoot

  User 和Group 指定proftpd 進程啟動時的有效用戶ID,處于安全考慮默認的身份是nobody,有一點要指出的是,一般Red Linux 9.0 中默認是沒有nogroup 這個組的,把Group指定為nobody 即可。

  DefaultRoot 選項限制Linux 系統用戶通過FTP方式登錄時將被限制在其home 目錄下。

  # Set the maximum number of seconds

  a data connection is allowed

  # to "stall" before being aborted.

  #TimeoutStalled 300

  AllowRetrieveRestart on

  AllowStoreRestart on

  # Normally, we want files to be overwriteable.

  

  AllowOverwrite on

    

  TimeoutStalled 指定一個連接的超時時間。

  AllowRetriveRestart 和AllowStroeRestart 指定允許斷點續傳。

  

  User ftp

  Group ftp

  # We want clients to be able to

  login with "anonymous"

  as well as "ftp"

  UserAlias anonymous ftp

  # Limit the maximum number of anonymous logins

  MaxClients 10

  # We want 'welcome.msg' displayed

  at login, and '.message' displayed

  # in each newly chdired directory.

  DisplayLogin welcome.msg

  DisplayFirstChdir .message

  # Limit WRITE everywhere

  in the anonymous chroot

  

  DenyAll

 

  這一部分,將在后面詳細介紹。

 


2.配置文件結構分析

  #全局設置

  設置項目1 參數1

  設置項目2 參數2

  #某個目錄的設置

  

  ...

  ...

 

  #關于匿名登陸的設置

  ...

  ...

  

  ...

  ...
   

  常用全局設置

  DefaultRoot ~ # 限制每個FTP用戶在自己的目錄下,不可查看上一級目錄

  AllowRetrieveRestart on #下載時,允許斷點續傳

  AllowStoreRestart on #上傳時,允許斷點續傳

  ServerIdent off #屏蔽服務器版本信息

  TransferRate STOR RETR 速度(Kbytes/s) user 使用者 #設定用戶傳輸速率

  MaxHostsPerUser 1 #每個帳戶最多允許來源ip為1個, 對防止ftp帳號還是比較有用的。

  MaxClientsPerUser 1 #每個帳戶在每個客戶端最多可以同時登陸1次,可以防止多線程軟件下載對服務器的破壞

  MaxClientsPerHost 1 #同一個客戶端只能最多1個帳號可以登陸

  WtmpLog on #是否要把ftp記錄在日志中,如果不想可以設置成off屏蔽掉log日志。

  TimeoutIdle 600 #客戶端idle時間設置,默認就是600秒

  DisplayLogin welcome.msg #設置ftp登陸歡迎信息文件

  RootLogin on #允許root用戶登錄,默認是不允許的,安全起見不推薦此選項。

  歡迎詞設置

  關于歡迎文件的設置包含如下參數:

  %T 目前的時間

  %F 所在硬盤剩下的容量

  %C 目前所在的目錄

  %R Client 端的主機名稱

  %L Server 端的主機名稱

  %U 使用者帳戶名稱

  %M 最大允許連接人數

  %N 目前的服務器連接人數

  %E FTP服務器管理員的 email

  %i 本次上傳的文件數量

  %o 本次下載的文件數量

  %t 本次上傳+下載的文件數量

  知道這些參數,可以寫出一個友好的歡迎語文件,例如:

  歡迎您%U, 這是T-force的測試FTP服務器;

  目前時間是:%T;

  本服務器最多允許%M個用戶連接數;

  目前服務器上已有%N個用戶連接數;

  目前你所在的目錄是%C;

  目錄所在的硬盤還剩下%F字節。

  anonymous 配置塊

  在配置文件中anonymous配置塊是非常重要的一部分,全局帳戶的權限配置一般都由它來控制,下面分析一個比較常見的例子

  # A basic anonymous configuration,

  no upload directories.

  If you do not

  # want anonymous users,

  simply delete this entire

   section.

  

  #指定匿名用戶登錄目錄

  User ftp

  #指定本塊設置的用戶

  Group ftp

  #指定本塊設置的用戶屬組

  # We want clients to be able to login

  with "anonymous" as well as "ftp"

  UserAlias anonymous ftp

  #設定用戶的別名

  AnonRequirePassword on

  #登陸需要密碼

  # Limit the maximum number

  of anonymous logins

  MaxClients 10

  # We want 'welcome.msg' displayed

  at login, and '.message' displayed

  # in each newly chdired directory.

   DisplayLogin welcome.msg

   DisplayFirstChdir .message

  # Limit WRITE everywhere

  in the anonymous chroot


   DenyAll


   AllowAll


  anonymous配置塊中的重點是通過Limit對指定目錄進行比較詳盡的權限管理,Limit的權限控制比較完整,通過不同的組合基本上可以做到各種復雜的權限控制,其控制項如下: 

  CMD:Change Working Directory 改變目錄

  MKD:MaKe Directory 建立目錄的權限

  RNFR: ReName FRom 更改目錄名的權限

  DELE:DELEte 刪除文件的權限

  RMD:ReMove Directory 刪除目錄的權限

  RETR:RETRieve 從服務端下載到客戶端的權限

  STOR:STORe 從客戶端上傳到服務端的權限

  READ:可讀的權限,不包括列目錄的權限,

  相當于RETR,STAT等

  WRITE:寫文件或者目錄的權限,包括MKD和RMD

  DIRS:是否允許列目錄,相當于LIST,

  NLST等權限,還是比較實用的 

  注:在測試是否可以下載時,不能用長度為0的空文件去測試,要用一個有內容的文件(文件大小不能為0k)。

  針對上面這個Limit所應用的對象,又包括以下范圍

  AllowUser 針對某個用戶允許的Limit

  DenyUser 針對某個用戶禁止的Limit

  AllowGroup 針對某個用戶組允許的Limit

  DenyGroup 針對某個用戶組禁止的Limit

  AllowAll 針對所有用戶組允許的Limit

  DenyAll 針對所有用戶禁止的Limit

  五.一種簡單實用的配置管理方式:

  proftpd和mysql組合可以完成比較龐大而且完備的權限控制,但是也同樣增加了管理和維護的復雜性,在這里我介紹一種簡單易行的配置方法,適用于100個用戶以下的應用。這種方法的核心在于巧妙的運用了設置gid位,讀者最好找資料了解一下相關的知識。這種方法的配置管理工作相當少,也相當的簡單,同時還可以保持一個清晰的權限系統結構。

  1.思路

  首先需要明確的概念是proftpd的用戶與linux系統的用戶的關系:linux系統的用戶即為proftpd的用戶。proftpd的權限控制是基于Linux系統得權限控制之上的,即用戶對于某個文件或目錄,必須先有Linux系統的權限,在此基礎上proftpd才能設置其特有的一些權限。其實一般來說Linux自有的權限系統就是一個比較完善的權限系統了,我們完全可以只利用這個權限系統,就足可以滿足我們的要求了。

  我們設置一個ftp管理員ftpadmin屬于ftpadmin組,ftp的根目錄/ftp是ftpadmin的個人根目錄,這樣ftpadmin可以完成日常的管理。通過設置/ftp的gid可以保證新上傳的文件是屬于ftpadmin用戶,加上再設置umask值002保證上傳文件的組讀寫權限,這樣管理員就可以對其管理下的文件進行管理,而同時保證了不改變該文件的屬主。

  ftp的用戶,我們只需新建一個Linux用戶,而把他的用戶目錄制定在/ftp之下就可以。操作起來很簡單。

  2.建立ftp管理員:ftpadmin

  [root@localhost root]groupadd ftpadmin #ftpadmin為新添加的組的名字

  [root@localhost root]useradd -d

  /ftp -g ftpadmin -s /sbin/nologin admin

  [root@localhost root]chmod 2775 /ftp

  同時保證ftpadmin 是 /ftp的屬主,ftpadmin 是/ftp的組屬主。這樣就保證了ftpadmin對要管理的/ftp目錄有全部的權限。 

  -s /sbin/nologin 指定用戶不能從shell登錄,就是說只能從ftp方式登錄,這樣是出于安全的考慮。

  修改/usr/local/etc/proftpd.conf

  nobody ftpadmin

  nogroup ftpadmin

  Umask 002

  #允許所有者,組用戶對ftp進行管理。

  掩碼Umask改為 002 。即組成員和所有者都可對文件夾進行增刪,改等操作。其他用戶可讀可執行,但不可寫。這樣,ftpadmin用戶可以通過同組的身份對所有的文件進行讀寫,同時也不改變其內容的原有權限。也就說,不改變這個文件夾下的文件的所有者身份,但同時又可以管理這些文件。

  chmod 2775 /ftp,通過設置了文件夾的gid,以后在這個文件夾下寫的所有文件,不管其所有者是誰,文件的組必定是ftpadmin(因為/ftp的組屬于ftpadmin),都合理的被納于ftpadmin的管理之下。

  3.添加用戶:user1

  useradd -d /ftp/user1 -g ftpadmin -s

  /sbin/nologin user1

  這樣user1就對/ftp/user1的目錄有完整的權限,而作為管理員也可以通過組權限對目錄進行管理。

  每當需要添加用戶的時候,只需方便的簡單的添加一個Linux的用戶就可以了。

  4.對應的配置文件:proftpd.conf中的重要條目

  Umask 002

  DefaultRoot

  Umask 002 保證了新建的文件有組讀寫權限。

  DefaultRoot ~ 保證 每個用戶登錄后被鎖定在自己的目錄里,看不到其他用戶的目錄。

   關鍵字:安裝、目錄

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站