centos7安裝配置proftp(ftp安裝for-linux)


環境:centos7

1、關於linux下ftp介紹

Linux常用哪幾種FTP服務器?Linux常用FTP服務器有哪幾種?幾種FTP服務器之間有什么區別?
oftpd、ftpd、vsftpd、pure-ftpd、proftpd、wu-ftpd、glftpd

Linux 下有好幾款很不錯的 ftp server,各有特點,適用於不同的應用場合。根據其可配置性大概可以分為三類:弱、中等、高。
 1、功能比較簡單的有ftpd和oftpd,前者與ftp客戶端工具ftp類似,只有標准的功能,此外支持SSL。oftpd是一款非常小巧的匿名ftp服務器。
2、可配制型居中的主要是vsftpd和pure
-ftpd。 這兩個側重於安全、速度和輕量級,在大型ftp服務器上用得比較多,尤其是vsftpd,
這類服務器對用戶認證和權限控制比較簡單,更注重安全型和速度。 它們都支持虛擬用戶,但用戶權限依賴於文件的系統權限,不支持針對目錄的權限配置,
在配置依賴於目錄的權限時很麻煩。pure-ftpd相對vsftpd 要強大一些,支持的用戶認證方式也比較多。 3、配置性強的要數proftpd、wu-ftpd和glftpd。proftpd 的配置方式跟Apache非常類似,支持虛擬服務器,可針對目錄、虛擬用戶進行權限配制,可繼承和覆蓋,
還支持類似於.htaccess的. ftpaccess,此外還有眾多的模塊可以幫助實現一些特定的功能。wu-ftpd可以說是proftpd的前身,在早期用得比較多,
proftpd就是針對wu-ftpd一些致命的弱點,重新寫的同樣定位的ftp服務器,差不多可以取代wu-ftpd。glftpd也是以功能強大著稱,可配置性非常強,
能夠完成一些很獨特的任務,比如自動CRC校驗等,在0day等組織用得很多。由於這幾款軟件過於強大,存在不少安全隱患,需要常打補丁。

2、proftpd的安裝及簡單配置

1、下載pfofptd
   a、百度雲提取:鏈接: https://pan.baidu.com/s/1_IGnnsmfeZDVmdR_dXWU1A 提取碼: z5pa
   b、直接下載:wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.7a.tar.gz
2、文件解壓
   tar -zxvf proftpd-1.3.7a.tar.gz
3、安裝編譯依賴包
   yum install gcc gcc-c++ autoconf automake
4、配置並制定安裝和配置文件路徑
  cd  cd proftpd-1.3.7a/  && \
  ./configure --prefix=/usr/local/proftpd --sysconfdir=/usr/local/proftpd
5、編譯安裝
   make  && make install

3、啟動和錯誤處理

1、啟動
  /usr/local/proftpd/sbin/proftpd
2、啟動會報錯
  這里報錯:- Fatal: Group: Unknown group 'nogroup'.
3、處理修改配置文件
   vi /usr/local/proftpd/proftpd.conf
   --修改前
   # Set the user and group under which the server will run.
  User                             nobody
  Group                            nogroup
  --修改后
  # Set the user and group under which the server will run.
  User                             nobody
  Group                            nobody
4、再次啟動即可
  /usr/local/proftpd/sbin/proftpd

4、配置用戶及目錄

1、建目錄和用戶
  建立目錄 mkdir -p /data/
  建立用戶 useradd -d /data/ftp -s /sbin/nologin ftp_user
  配置密碼 echo ftp_user|passwd --stdin ftp_user
 修改權限 chown -R ftp_user:ftp_user /data/ftp
2、添加配置文件,在配置文件末尾添加如下代碼
vi /usr/local/proftpd/proftpd.conf
<Directory /data/ftp> HideNoAccess off <Limit STOR MKD> Order deny,allow allowUser ftp_user </Limit> </Directory> 3、重啟服務 ps -ef|grep proftpd|grep -v grep|awk '{print $2}'|xargs kill -9 #killproftpd進程 /usr/local/proftpd/sbin/proftpd #啟動服務 4、登錄ftp查看

5、問題處理ftp登錄shell為nologin無法登錄

登陸問題表現:USER ftp_user (Login failed): Invalid shell: '/sbin/nologin'
處理:echo ‘/sbin/nologin’ >> /etc/shells

6、Limit權限詳情

#<LIMIT>容器內有以下權限:
#       CWD:改變所在目錄
#       MKD/XMKD:新建目錄
#       RNFR/RNTO:重命名目錄的(一起使用)
#       DELE:刪除文件
#       RMD/XRMD:刪除目錄
#       RETR:下載
#       STOR:上傳
#       LOGIN:登陸
#       READ:包括了RETR,SITE,SIZE,STAT
#       WRITE:包括了APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD
#       DIRS:包括了DUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD, XPWD
#       ALL:包括了READ WRITE DIRS
#以上權限結合動作一起使用:
#       AllowUser:允許某個用戶
#       DenyUser:禁止某個用戶
#       AllowGroup:允許某個用戶組
#       DenyGroup:禁止某個用戶組
#       AllowAll:允許所有用戶
#       DenyAll:禁止所有用戶

 7、配置文件詳解

# cat /usr/local/proftpd/proftpd.conf

ServerName   "babydragon's FTP"   #服務器的名字 
ServerType   standalone       #proftpd運行的方式,有standalone和inetd 
DeferWelcome  off   #只有在認證用戶之后才顯示歡迎信息 

Port         21     #ftp連接端口 
Umask        002    #新文件的權限掩碼 
TimeoutLogin     120    #登陸時允許idle的時間 
TimeoutIdle     600    #登陸后允許idle的時間 
TimeoutNoTransfer  900    #沒有數據傳輸時允許idle的時間 

AllowStoreRestart    on   #允許斷點續上傳 
AllowRetrieveRestart  on   #允許斷點續下載 

PassivePorts 50000 65534    #指定數據端口的范圍 

User          nobody   #以nobody,nogroup的身份運行程序 
Group          nogroup 

RequireValidShell    no       #用戶是否擁有shell,關閉安全 

MaxClientsPerHost    2        #每個ip只能有兩個連接 
MaxClientsPerUser    1        #每個帳號只能有一個連接 

DefaultRoot     ~   #ftp的根目錄,~限制用戶只能訪問自己的目錄 
UseReverseDNS    off  #關閉DNS反向查詢,節省連接時間 

TransferLog     /var/spool/syslog/proftpd/xferlog.legacy #數據傳輸記錄 


LogFormat    auth  "%v %P %h %t "%r/" %s" 
LogFormat    write  "%h %l %u %t "%r/" %s %b" 
# 定義了幾種日志格式,可以根據自己的需要定制: 
#    %a:客戶ip 
#    %A:匿名用戶名(就是匿名用戶的password) 
#    %b:發送請求的字節數 
#    %d:目錄名(相對路徑) 
#    %D:目錄名(絕對路徑) 
#    %f:上傳或下載的文件名(絕對路徑) 
#    %F:上傳或下載的文件名(相對路徑) 
#    %h:客戶的域名 
#    %L:本服務器ip 
#    %m:客戶發送的命令 
#    %p:本服務器的端口 
#    %P:服務進程的id 
#    %r:客戶發送的整條命令 
#    %t:本地時間 
#    %T:傳送文件所用的時間(秒) 
#    %u:客戶登陸的用戶名 

<Global>                     
                       #設置一些全局參數 
   DisplayLogin        welcome.msg  

#顯示~/welcome.msg中的歡迎信息,可以編輯welcome.msg自己制定歡迎信息 
#    %T 當前的時間 
#    %F 所在硬盤剩下的空間 
#    %C 當前所在的目錄 
#    %R:客戶的主機名 
#    %U:客戶登陸的帳號 
#    %M:允許最大連接數 
#    %N:當前的連接人數 
#    %E:FTP服務器管理員的email 
#    %i:本次上傳的文件數量 
#    %o:本次下載的文件數量 

   AllowOverwrite       yes     #允許文件可以重新寫 

   IdentLookups  off   #查找客戶的遠程用戶名,關掉節省連接時間 

   ExtendedLog   /var/spool/syslog/proftpd/access.log WRITE,READ write 
                #以write的日志格式記錄READ,WRITE的日志 

   ExtendedLog   /var/spool/syslog/proftpd/auth.log AUTH auth 
                #以auth的日志格式記錄AUTH的日志 
</Global> 

<Anonymous /> 
   User          ftp 
   Group          ftp    
   UserAlias        anonymous ftp  #匿名用戶以ftp用戶登陸 
   RequireValidShell    no       #用戶有沒shell也可以使用FTP(安全) 
   MaxClients       20       #最大客戶數 
   MaxInstances      30       #連接的間隔時間 
   MaxLoginAttempts    10       #連接的最大次數 

   <Limit LOGIN> 
       Order deny,allow 
       Deny from 172.16.0.0/11     #禁止172.16.0.0/11網段訪問 
       Allow from all 
   </Limit> 

   <Directory pub> 
       <Limit READ> 
           AllowAll        #所有人在pub目錄有讀權限 
       </Limit> 
       <Limit WRITE> 
           AllowUser ftpadmin       #ftpadmin用戶擁有寫權限 
           DenyAll             #其他用戶無寫權限 
       </Limit> 
           <Directory slow> 
       RateReadBPS       1024000     #下載最高速1M/s 
       RateReadFreeBytes    10240000    #下載總速度不超過10M/s 
   </Directory> 

   <Directory Incoming> 
       <Limit STOR MKD> 
           AllowAll        #所有人都可以在incoming目錄上傳文件,新建目錄 
       </Limit> 
       <Limit WRITE> 
           AllowUser ftpadmin       #允許ftpadmin用戶寫 
           DenyAll             #其他用戶無寫權限 
       </Limit> 
       RateWriteBPS       1024000    #上傳最高速1M/s 
       RateWriteFreeBytes    10240000    #上傳總速度不超過10M/s 
   </Directory> 
</Anonymous>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM