小編給大家分享一下Linux下如何安裝配置與管理proftpd,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、思禮網(wǎng)絡(luò)推廣、小程序制作、思禮網(wǎng)絡(luò)營(yíng)銷(xiāo)、思禮企業(yè)策劃、思禮品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供思禮建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:chinadenli.net
一. proftpd 簡(jiǎn)介。
proftpd是一款開(kāi)放源碼的ftp服務(wù)器軟件,它是原來(lái)世界范圍使用最廣泛的wu-ftpd的改進(jìn)版,它修正了wu-ftpd的許多缺陷,在許多方面進(jìn)行了重大的改進(jìn),其中一個(gè)重要變化就是它學(xué)習(xí)了Apache 的配置方式,使proftpd的配置和管理更加簡(jiǎn)單易懂。
二.軟件的相關(guān)資源。
官方網(wǎng)站:http://www.proftpd.org/
三.軟件的安裝。
1.安裝
由其官方網(wǎng)站中下載其源碼軟件包proftpd-1.2.10. tar.gz。接下來(lái)我將對(duì)安裝過(guò)程的一些重要步驟,給出其解釋?zhuān)?/p>
[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 針對(duì)機(jī)器作安裝的檢查和設(shè)置,大部分的工作是由機(jī)器自動(dòng)完成的,但是用戶可以通過(guò)一些參數(shù)來(lái)完成一定的設(shè)置,其常用選項(xiàng)有:
./configure --help 察看參數(shù)設(shè)置幫助。
--enable-ipv6 支持ipv6。
可以設(shè)置的參數(shù)很多,可以通過(guò) -help察看需要的,一般情況下,默認(rèn)設(shè)置就可以了。
默認(rèn)情況下,安裝過(guò)程應(yīng)該建立了:
proftpd的deamon為/usr/local/sbin/proftpd
proftpd的配置文件,/usr/local/etc/proftpd.conf。
2.啟動(dòng):
[root@localhost root]# /usr/local/sbin/proftpd -c /usr/local/etc/proftpd.conf
-c選項(xiàng)用來(lái)指定配置文件的位置,不指定的話默認(rèn)位置是 /usr/local/etc/proftpd.conf 。
正常情況下proftpd應(yīng)該啟動(dòng)了,ps aux 應(yīng)該可以查到proftpd的進(jìn)程,或netstat -an 也可以看到21端口的服務(wù)已經(jīng)起來(lái)了。(ftp默認(rèn)端口)
如果要設(shè)置開(kāi)機(jī)自啟動(dòng)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.初始配置文件
默認(rèn)配置文件的位置為:
/usr/local/etc/proftpd.conf (如果文件不存在可以從壓縮包中把配置文件樣例拷貝過(guò)來(lái)即可)下面逐項(xiàng)分析其中一些常選項(xiàng):(#后面的部分是注釋)
# 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 的啟動(dòng)類(lèi)型,一般使用standalone方式比較簡(jiǎn)單,如果訪問(wèn)量不大,為節(jié)省資源考慮用xinetd偵聽(tīng)啟動(dòng),必須在這里指定。Port 指定FTP的偵聽(tīng)端口,一般使用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 進(jìn)程的Umask 值,022與Linux系統(tǒng)得默認(rèn)值一致。
MaxInstances 指定 FTP server 的***連接數(shù)。
# 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 進(jìn)程啟動(dòng)時(shí)的有效用戶ID,處于安全考慮默認(rèn)的身份是nobody,有一點(diǎn)要指出的是,一般Red Linux 9.0 中默認(rèn)是沒(méi)有nogroup 這個(gè)組的,把Group指定為nobody 即可。
DefaultRoot 選項(xiàng)限制Linux 系統(tǒng)用戶通過(guò)FTP方式登錄時(shí)將被限制在其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 指定一個(gè)連接的超時(shí)時(shí)間。
AllowRetriveRestart 和AllowStroeRestart 指定允許斷點(diǎn)續(xù)傳。
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
這一部分,將在后面詳細(xì)介紹。
2.配置文件結(jié)構(gòu)分析
#全局設(shè)置設(shè)置項(xiàng)目1 參數(shù)1設(shè)置項(xiàng)目2 參數(shù)2#某個(gè)目錄的設(shè)置
常用全局設(shè)置
DefaultRoot ~ # 限制每個(gè)FTP用戶在自己的目錄下,不可查看上一級(jí)目錄
AllowRetrieveRestart on #下載時(shí),允許斷點(diǎn)續(xù)傳
AllowStoreRestart on #上傳時(shí),允許斷點(diǎn)續(xù)傳
ServerIdent off #屏蔽服務(wù)器版本信息
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者 #設(shè)定用戶傳輸速率
MaxHostsPerUser 1 #每個(gè)帳戶最多允許來(lái)源ip為1個(gè), 對(duì)防止ftp帳號(hào)還是比較有用的。
MaxClientsPerUser 1 #每個(gè)帳戶在每個(gè)客戶端最多可以同時(shí)登陸1次,可以防止多線程軟件下載對(duì)服務(wù)器的破壞
MaxClientsPerHost 1 #同一個(gè)客戶端只能最多1個(gè)帳號(hào)可以登陸
WtmpLog on #是否要把ftp記錄在日志中,如果不想可以設(shè)置成off屏蔽掉log日志。
TimeoutIdle 600 #客戶端idle時(shí)間設(shè)置,默認(rèn)就是600秒
DisplayLogin welcome.msg #設(shè)置ftp登陸歡迎信息文件
RootLogin on #允許root用戶登錄,默認(rèn)是不允許的,安全起見(jiàn)不推薦此選項(xiàng)。
歡迎詞設(shè)置
關(guān)于歡迎文件的設(shè)置包含如下參數(shù):
%T 目前的時(shí)間
%F 所在硬盤(pán)剩下的容量
%C 目前所在的目錄
%R Client 端的主機(jī)名稱(chēng)
%L Server 端的主機(jī)名稱(chēng)
%U 使用者帳戶名稱(chēng)
%M ***允許連接人數(shù)
%N 目前的服務(wù)器連接人數(shù)
%E FTP服務(wù)器管理員的 email
%i 本次上傳的文件數(shù)量
%o 本次下載的文件數(shù)量
%t 本次上傳+下載的文件數(shù)量
知道這些參數(shù),可以寫(xiě)出一個(gè)友好的歡迎語(yǔ)文件,例如:
歡迎您%U, 這是T-force的測(cè)試FTP服務(wù)器; 目前時(shí)間是:%T; 本服務(wù)器最多允許%M個(gè)用戶連接數(shù); 目前服務(wù)器上已有%N個(gè)用戶連接數(shù); 目前你所在的目錄是%C; 目錄所在的硬盤(pán)還剩下%F字節(jié)。
anonymous 配置塊
在配置文件中anonymous配置塊是非常重要的一部分,全局帳戶的權(quán)限配置一般都由它來(lái)控制,下面分析一個(gè)比較常見(jiàn)的例子
# A basic anonymous configuration, no upload directories. If you do not# want anonymous users, simply delete this entiresection.#指定匿名用戶登錄目錄User ftp#指定本塊設(shè)置的用戶Group ftp#指定本塊設(shè)置的用戶屬組# We want clients to be able to loginwith "anonymous" as well as "ftp"UserAlias anonymous ftp#設(shè)定用戶的別名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 chroot
anonymous配置塊中的重點(diǎn)是通過(guò)Limit對(duì)指定目錄進(jìn)行比較詳盡的權(quán)限管理,Limit的權(quán)限控制比較完整,通過(guò)不同的組合基本上可以做到各種復(fù)雜的權(quán)限控制,其控制項(xiàng)如下:
CMD:Change Working Directory 改變目錄MKD:MaKe Directory 建立目錄的權(quán)限RNFR: ReName FRom 更改目錄名的權(quán)限D(zhuǎn)ELE:DELEte 刪除文件的權(quán)限RMD:ReMove Directory 刪除目錄的權(quán)限RETR:RETRieve 從服務(wù)端下載到客戶端的權(quán)限STOR:STORe 從客戶端上傳到服務(wù)端的權(quán)限READ:可讀的權(quán)限,不包括列目錄的權(quán)限,相當(dāng)于RETR,STAT等WRITE:寫(xiě)文件或者目錄的權(quán)限,包括MKD和RMDDIRS:是否允許列目錄,相當(dāng)于LIST,NLST等權(quán)限,還是比較實(shí)用的
注:在測(cè)試是否可以下載時(shí),不能用長(zhǎng)度為0的空文件去測(cè)試,要用一個(gè)有內(nèi)容的文件(文件大小不能為0k)。
針對(duì)上面這個(gè)Limit所應(yīng)用的對(duì)象,又包括以下范圍
AllowUser 針對(duì)某個(gè)用戶允許的LimitDenyUser 針對(duì)某個(gè)用戶禁止的LimitAllowGroup 針對(duì)某個(gè)用戶組允許的LimitDenyGroup 針對(duì)某個(gè)用戶組禁止的LimitAllowAll 針對(duì)所有用戶組允許的LimitDenyAll 針對(duì)所有用戶禁止的Limit
五.一種簡(jiǎn)單實(shí)用的配置管理方式:
proftpd和MySQL組合可以完成比較龐大而且完備的權(quán)限控制,但是也同樣增加了管理和維護(hù)的復(fù)雜性,在這里我介紹一種簡(jiǎn)單易行的配置方法,適用于100個(gè)用戶以下的應(yīng)用。這種方法的核心在于巧妙的運(yùn)用了設(shè)置gid位,讀者***找資料了解一下相關(guān)的知識(shí)。這種方法的配置管理工作相當(dāng)少,也相當(dāng)?shù)暮?jiǎn)單,同時(shí)還可以保持一個(gè)清晰的權(quán)限系統(tǒng)結(jié)構(gòu)。
1.思路
首先需要明確的概念是proftpd的用戶與linux系統(tǒng)的用戶的關(guān)系:linux系統(tǒng)的用戶即為proftpd的用戶。proftpd的權(quán)限控制是基于Linux系統(tǒng)得權(quán)限控制之上的,即用戶對(duì)于某個(gè)文件或目錄,必須先有Linux系統(tǒng)的權(quán)限,在此基礎(chǔ)上proftpd才能設(shè)置其特有的一些權(quán)限。其實(shí)一般來(lái)說(shuō)Linux自有的權(quán)限系統(tǒng)就是一個(gè)比較完善的權(quán)限系統(tǒng)了,我們完全可以只利用這個(gè)權(quán)限系統(tǒng),就足可以滿足我們的要求了。
我們?cè)O(shè)置一個(gè)ftp管理員ftpadmin屬于ftpadmin組,ftp的根目錄/ftp是ftpadmin的個(gè)人根目錄,這樣ftpadmin可以完成日常的管理。通過(guò)設(shè)置/ftp的gid可以保證新上傳的文件是屬于ftpadmin用戶,加上再設(shè)置umask值002保證上傳文件的組讀寫(xiě)權(quán)限,這樣管理員就可以對(duì)其管理下的文件進(jìn)行管理,而同時(shí)保證了不改變?cè)撐募膶僦鳌?/p>
ftp的用戶,我們只需新建一個(gè)Linux用戶,而把他的用戶目錄制定在/ftp之下就可以。操作起來(lái)很簡(jiǎn)單。
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
同時(shí)保證ftpadmin 是 /ftp的屬主,ftpadmin 是/ftp的組屬主。這樣就保證了ftpadmin對(duì)要管理的/ftp目錄有全部的權(quán)限。
-s /sbin/nologin 指定用戶不能從shell登錄,就是說(shuō)只能從ftp方式登錄,這樣是出于安全的考慮。
修改/usr/local/etc/proftpd.conf
nobody ftpadminnogroup ftpadminUmask 002 #允許所有者,組用戶對(duì)ftp進(jìn)行管理。
掩碼Umask改為 002 。即組成員和所有者都可對(duì)文件夾進(jìn)行增刪,改等操作。其他用戶可讀可執(zhí)行,但不可寫(xiě)。這樣,ftpadmin用戶可以通過(guò)同組的身份對(duì)所有的文件進(jìn)行讀寫(xiě),同時(shí)也不改變其內(nèi)容的原有權(quán)限。也就說(shuō),不改變這個(gè)文件夾下的文件的所有者身份,但同時(shí)又可以管理這些文件。
chmod 2775 /ftp,通過(guò)設(shè)置了文件夾的gid,以后在這個(gè)文件夾下寫(xiě)的所有文件,不管其所有者是誰(shuí),文件的組必定是ftpadmin(因?yàn)?ftp的組屬于ftpadmin),都合理的被納于ftpadmin的管理之下。
3.添加用戶:user1
useradd -d /ftp/user1 -g ftpadmin -s/sbin/nologin user1
這樣user1就對(duì)/ftp/user1的目錄有完整的權(quán)限,而作為管理員也可以通過(guò)組權(quán)限對(duì)目錄進(jìn)行管理。
每當(dāng)需要添加用戶的時(shí)候,只需方便的簡(jiǎn)單的添加一個(gè)Linux的用戶就可以了。
4.對(duì)應(yīng)的配置文件:proftpd.conf中的重要條目
Umask 002DefaultRoot
Umask 002 保證了新建的文件有組讀寫(xiě)權(quán)限。
DefaultRoot ~ 保證 每個(gè)用戶登錄后被鎖定在自己的目錄里,看不到其他用戶的目錄。
以上是“Linux下如何安裝配置與管理proftpd”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
名稱(chēng)欄目:Linux下如何安裝配置與管理proftpd
網(wǎng)頁(yè)地址:http://chinadenli.net/article2/gpdioc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、ChatGPT、自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)