proftpd搭建ftp服务器以及相关设置


配置文件在etc/proftpd.conf,配置文件说明如下:

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

分别表示:服务器名称,服务类型和默认服务状态!

后面的服务端口啊什么的我就省去不说了,说最关键的权限控制部分。

 # Set the user and group under which the server will run.
User                            nobody
Group                           nogroup

注意看上面:以什么用户和什么组来运行服务。 

更改为你现有的组和用户,这里为了管理上的方便和安全性上考虑,建议新建一个ftp组和ftp用户。

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~
是否允许用户进入用户的主目录,注意:可是适用/home替代

# Normally, we want files to be overwriteable.
AllowOverwrite          on
是否具有重写的权利

# 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

  # 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
 



这部分是匿名用户的定义其实也很简单。

------------------------------------------------

启动不了,出现如下错误的解决方法

[root@new-host sbin]# ./proftpd
 - IPv4 getaddrinfo 'new-host' error: Name or service not known
 - warning: unable to determine IP address of 'new-host'
 - error: no valid servers configured
 - Fatal: error processing configuration file '/usr/local/proftpd/etc/proftpd.conf'

原因是无法绑定Ip地址。

在配置文件中增加下面这句:

DefaultAddress                  192.168.8.105
再重启服务就可以了!

  对出现的530 Login incorrect错误,查看日志发现Invalid shell错误
在配置中添加
 
    
 "Fatal: Socket operation on non-socket"
  这通常意味着在 proftpd.conf 配置文件中 ServerType 指令被配置成 inetd
  (超级服务器)方式而不是 standalone(独立服务器) 方式来运行。
 
PROFTPD服务器相关命令

  1、ftpshut:关闭FTP服务,并在/etc下生成文件shutmsg。要重新开放FTP服务,把/etc/shutmsg删除。
  2、ftpcout:FTP服务器在线人数信息显示。
  3、ftpwho:FTP服务器在线人员名单。

几个文件的功能及路径
/usr/local/sbin/proftpd 执行程序
/usr/local/etc/proftpd.conf 设置文件
/usr/local/var/proftpd.pid proftpd做为一个服务的ID号


设定proftpd.conf文件,起动服务

cd /etc/rc.d/rc3.d
ln -s /usr/local/sbin/proftpd S99proftpd

或者
修改/etc/rc.d/rc.local
加上下面这句
/usr/local/sbin/proftpd start
proftpd 怎么查看在线连接的ip
登陆服务器
输入 ftpwho
或ftptop
ftptop可以显示在线人的ip 速度等

//////////////////////////////////////////////////////

ProFTPD configuration

 

先建立ftp和media用户,用户组为nogroup,不允许登录系统

useradd media -d/home/media -gnogroup

增加权限

chown -R media /hoem/media

要使ftp用户登录要修改/etc/ftpuser文件注释掉ftp

 

内网架设FTP服务器的方法:
1. 在proftpd.conf中利用MasqueradeAddress命令将网关的IP地址或域名指定给FTP服务器,例如
MasqueradeAddress myftpserver.vicp.net   ?????
或MasqueradeAddress 12.34.56.78          ?????经使用只能连接不能下载
然后通过PassivePorts命令来限制被动方式下监听的端口的范围,例如
PassivePorts 60000 65534
2. 在网关的端口映射上将第一步中指定的端口范围(例中为60000-65534)以及FTP端口21映射到FTP服务器的内网地址上。

getaddrinfo 'test' error: Name or service not known
- warning: unable to determine IP address of 'test'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'
解决:产生该问题是由于hosts文件里机器名未增加别名引起的。
#vi /etc/host

 

proftpd登陆速度慢的问题的解决
proftpd.conf中增加两行设置:
UseReverseDNS off
IdentLookups off

 

# This is a basic ProFTPD configuration file.
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal/anonymous operation.

ServerName   "ProFTPD Default Installation"
ServerType   standalone
#ServerType   inetd
DefaultServer   on

UseReverseDNS off
IdentLookups off

# Port 21 is the standard FTP port.
Port    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

# Set the user and group that the server normally runs at.
User  ftp
# nobody
Group  nogroup
# nogroup
# This next option is required for NIS or NIS+ to work properly:
#PersistentPasswd off

SystemLog   /var/log/proftpd.log
TransferLog   /var/log/xferlog

DefaultAddress  192.168.1.254
# Normally, we want files to be overwriteable.

  AllowOverwrite  on


  RequireValidShell  off
  User   media 
  Group         nogroup 
  MaxClients   50
  DisplayLogin   welcome.msg
  DisplayFirstChdir  .message

  
    AllowAll
  



# A basic anonymous FTP server configuration.
# To enable this, remove the user ftp from /etc/ftpusers.

  RequireValidShell  off
  User   ftp
  Group         nogroup 
  # 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   50

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin   welcome.msg
  DisplayFirstChdir  .message


  # An upload directory that allows storing files but not retrieving
  # or creating directories.
  
    
      AllowAll
    

  # Limit WRITE everywhere in the anonymous chroot
  
  AllowAll
  

    
      AllowAll
    

  

你可能感兴趣的:(proftpd搭建ftp服务器以及相关设置)