久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下如何安裝配置與管理proftpd

164次閱讀
沒有評論

共計 6989 個字符,預計需要花費 18 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 Linux 下如何安裝配置與管理 proftpd,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一. proftpd 簡介。

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

二. 軟件的相關資源。

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

三. 軟件的安裝。

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 script will be executed*after* all the other init scripts.# 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 standaloneDefaultServer 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 themaximum 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 modeyou should use an inetd server# that allows you to limit maximumnumber 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 secondsa data connection is allowed# to  stall  before being aborted.#TimeoutStalled 300AllowRetrieveRestart onAllowStoreRestart 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 chrootDenyAll

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

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 entiresection.# 指定匿名用戶登錄目錄 User ftp# 指定本塊設置的用戶 Group ftp# 指定本塊設置的用戶屬組# We want clients to be able to loginwith anonymous as well as ftp UserAlias anonymous ftp# 設定用戶的別名 AnonRequirePassword on #登陸需要密碼# Limit the maximum numberof anonymous loginsMaxClients 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 chrootDenyAllAllowAll

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 和 RMDDIRS:是否允許列目錄,相當于 LIST,NLST 等權限,還是比較實用的

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

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

AllowUser 針對某個用戶允許的 LimitDenyUser 針對某個用戶禁止的 LimitAllowGroup 針對某個用戶組允許的 LimitDenyGroup 針對某個用戶組禁止的 LimitAllowAll 針對所有用戶組允許的 LimitDenyAll 針對所有用戶禁止的 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 ftpadminnogroup ftpadminUmask 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 002DefaultRoot

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

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

以上是“Linux 下如何安裝配置與管理 proftpd”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計6989字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 新昌县| 临海市| 定陶县| 峨山| 中卫市| 肇州县| 龙岩市| 富蕴县| 新余市| 双鸭山市| 北碚区| 古丈县| 改则县| 红桥区| 江口县| 白朗县| 沂源县| 股票| 台湾省| 疏附县| 罗山县| 伊宁县| 南漳县| 万荣县| 嵊泗县| 安康市| 乌兰察布市| 左云县| 松江区| 油尖旺区| 福清市| 林州市| 巧家县| 张北县| 东光县| 吴忠市| 习水县| 裕民县| 宁乡县| 盱眙县| 乾安县|