This file is indexed.

/etc/proxy-suite/ftp-proxy.conf is in ftp-proxy 1.9.2.4-8.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
#####################################################################
#
# $Id: ftp-proxy.conf.sample,v 1.6.2.4 2005/01/11 13:00:01 mt Exp $
#
# Sample FTP Proxy Configuration File
#
# For more information, see ftp-proxy.conf(5) manual page.
#
# The general format is "Keyword Value".
#
# Any white space at the beginning or end of a line and after
# the Keyword is ignored. Lines can be continued with '\'.
# Case is *NOT* sensitive, so "user" is "User" is "USER".
#
# Several variables can also be assigned to a client's user name.
# User specific sections are introduced by a '[username]' line.
# The variables are: TimeOut, ValidCommands, SameAddress,
#                    ActiveMinDataPort, ActiveMaxDataPort,
#                    PassiveMinDataPort, PassiveMaxDataPort,
#                    DestinationAddress, DestinationPort,
#                    DestinationMinPort, DestinationMaxPort,
#                    DestinationTransferMode
# These variables can also be obtained from an LDAP server, in
# which case the values from this file are not evaluated any
# more.
#
#####################################################################
#
# The start of the file is implicitly the [-Global-] section.
#

[-Global-]

#
# The following entries select a port range for client DTP
# ports in active mode, i.e. when the client sends a PORT
# command. The default is port 20 as per RFC 959, if the
# proxy is running as root (user ID 0) or a random  port.
#
# ActiveMinDataPort	40000
# ActiveMaxDataPort	40999

#
# The follwing flag is especially useful for outbound FTP
# traffic. It allows to put some "magic" in the USER name.
# If set, it enables the USER name to contain the target
# server in the form "user[@host[:port]]" and overrides
# the DestinationAddress (and DestinationPort) below.
# See also ForceMagicUser option.
#
# AllowMagicUser	no

#
# The follwing setting allows you to configure a so called
# transparent proxy for outgoing ftp. To get it working you
# also have to redirect client requests on a gateway or
# firewall host (i.e. via ipchains) to the ftp-proxy.
# You can combine this with the AllowMagicUser flag.
#
# AllowTransProxy	no

#
# This message prevents any login if a file with the given
# name exists. Instead the contents of the file will be sent
# to the client and the connection closed. Lines are prefixed
# with "421-". If no such file exists, the mechanism is not
# triggered and DenyString (s.b.) is ignored altogether.
#
# DenyMessage		/etc/proxy-suite/ftp-deny.txt

#
# If a DenyMessage file exists, the deny mechanism will be
# activated in any case. If a DenyString exists, it will be
# sent (with escape sequences) as the last line (with a 421
# reply code), else the standard message
# "Service not available" will be displayed.
#
# DenyString		 Service out of order

#
# Where to redirect incoming FTP traffic. This destination
# will be used if a client has not set its own target.
# WARNING: ftp-proxy will refuse to run if this directive
# is not set and transparent proxying not enables (see also
# AllowTransProxy).
#
# DestinationAddress	server.domain.tld
DestinationAddress	localhost

#
# (Local) port range for all connections to the server. The
# default is to let the proxy select any ephemeral port.
#
# DestinationMinPort	42900
# DestinationMaxPort	42999

#
# This is the port corresponding to DestinationAddress. It
# defaults to 21, the standard FTP port.
#
# DestinationPort	21

#
# Specify the FTP transfer mode to be used from the proxy to
# the server. TransferMode can be active, passive, or client.
# The default is "client" which means to use the same as the
# client.
#
# DestinationTransferMode	client
# DestinationTransferMode	passive
# DestinationTransferMode	active

#
# Defines the action that is taken when a data transfer command
# is failed on the server side. If set to "yes", the client
# socket will be reset after a command is failed and the transfer
# mode reset to the default (active ftp).
# This option is a workarround for Netscape (4.x) clients, that
# sends a second data transfer command if the first is failed
# while "user click" on a symbolic link pointing to a directory.
#
# FailResetsPasv	no

#
# Same as AllowMagicUser, but makes the host and port portion
# mandatory.
#
# ForceMagicUser	no

#
# Limits the number of incoming client connections per minute
# in daemon mode - it defaults to 40 connections per minute.
#
# ForkLimit		40

#
# If given, change GID to give up root privileges. In POSIX
# environments this changes all group ID's.
#
Group			nogroup
# Group			nobody

#
# Defines a different base distinguished name that is used
# when accessing an LDAP directory for user authentication
# purposes. Defaults to LDAPBaseDN.
#
# LDAPAuthDN		dc=domain,dc=tld

#
# Defines an attribute and its value as 'attr=value' string,
# that will be checked while user authentication.
#
# LDAPAuthOKFlag	allowedService=FTPProxy

#
# Defines  the LDAP password attribute name used for user
# authentication. Defaults to an empty string - password
# authentication disabled.
#
#LDAPAuthPWAttr		userPassword

#
# Defines password type used in LDAP followed by the minimal
# allowed password length (default is 5). Valid values are:
#   plain, crypt, {crypt}
# optionally followed by one number 0-9, i.e. {crypt}7,
# plain9 or plain. Defaults to plain (length is 5).
#
#LDAPAuthPWType		plain

#
# When accessing the LDAP directory, a search base can be
# handed to the search functions. We strongly recommend to
# do so. This is the "root" of the relevant search tree.
#
# LDAPBaseDN		dc=domain,dc=tld

#
# Use distinguished name to (simple) bind to the directory
# service. If not set, an annonymous bind is used.
# If (exactly one) %s is used, the name will be replaced
# by the auth name while user authentication or the FTP
# user name.
#
# LDAPBindDN		uid=%s,dc=domain,dc=tld
# LDAPBindDN		uid=ftp-proxy,dc=domain,dc=tld

#
# Use credential (password) to bind to the directory service
# using distinguished name given with LDAPBindDN.
#
# LDAPBindPW		aPassword

#
# The next thing to decide when using LDAP is the attribute
# used as the main identificator. Some administrators will
# use the CN (Common Name) attribute, and this is also the
# default, but it can be any legal identifier.
#
# LDAPIdentifier	LoginName

#
# Additionally, an LDAP ObjectClass should be defined for
# the FTP User(s). This will be especially useful if the
# user entries are located inside a mixed LDAP hierarchy.
# If an ObjectClass is given, the search is executed as:
# "(&(ObjectClass=<class>)(CN=<username>))", else it will
# just be based upon CN (the Common Name) or whatever has
# been assigned to LDAPIdentifier above.
#
# LDAPObjectClass	FTPProxyUser

#
# Access information based upon users can also be obtained
# dynamically from an LDAP directory. This works only if the
# program was compiled with LDAP support. Both the University
# of Michigan and the Netscape LDAP API are supported.
#
# LDAPServer		ldap.domain.tld[:port]

#
# Set to listen on a specific interface (0.0.0.0 means all
# and is also the default). Address can be given as dotted
# decimal IP address or DNS host name.
#
# Listen		0.0.0.0

#
# Determine where to send logging information. If the value
# starts with a '/' it is assumed to be a file. If it starts
# with a '|' it is assumed to be a program which will be
# popen()-ed. Anything else is assumed to be a facility for
# syslog(). See ftp-proxy.conf(5) and the "SYSLOG" file for
# severity handling.
#
# LogDestination	daemon
# LogDestination	/var/log/ftp-proxy.log
# LogDestination	|/usr/bin/rotatelogs /var/log/ftp-proxy.log

#
# Defines the maximal level of logged messages. The levels
# are, in order of decreasing importance:
#      FLT, ERR, WRN, INF, DBG
# The default level is INF. A LogLevel set to WRN causes,
# that only messages of levels FLT, ERR, WRN will be logged.
#
# LogLevel		INF

#
# Maximum number of concurrent clients if running as daemon.
#
# MaxClients		64

#
# This message (or rather the contents of a file with this
# name) will be issued when MaxClients is exceeded, each
# line prefixed with "421-". If no such file exists, only
# the MaxClientsString below will be displayed.
#
# MaxClientsMessage	/etc/proxy-suite/ftp-maxclients.txt

#
# This string (with a default of "Service not available" will
# be displayed, if the configured maximum number of concurrent
# clients has been reached. It is prefixed with '421 '.
#
# MaxClientsString	The server is full

#
# Defines the maximum number of bytes read from socket at once
# while data transfers. Default is to read all data as reported
# by the kernel.
# It may be usefull to set a limit (i.e. to 8192), if your proxy
# machine uses two interfaces of different speed, i.e. the clients
# are accessing the proxy via a high-speed interface (i.e.
# FastEthernet) and the proxy is accessing servers using a slower
# one (i.e. modem, ISDN link) and your ftp-clients aborts the data
# transfers because of a timeout.
#
# MaxRecvBufSize	0

#
# The following entries select a port range for client DTP
# ports in passive mode, i.e. when the client sends a PASV.
# If no port range is given, no bind is performed, in which
# case the proxy lets the machine select an ephemeral port.
#
# PassiveMinDataPort	41000
# PassiveMaxDataPort	41999

#
# Write an ASCII file with the Program ID if given. Only valid
# if running as daemon, in which case the daemon itself uses it.
#
# PidFile		/var/run/ftp-proxy.pid

#
# Port to listen on (for the SERVER-PI). Default is "ftp".
# Can be given as TCP service name or as a plain number.
#
# Port			ftp
Port 2121

#
# The following flag specifies the action when a PORT command
# is received while a PASV listening socket is outstanding.
# The RFC is not really clear about the "correct" behaviour,
# but since most existing implementations seem to reset the
# listener, we do the same by default. Nevertheless they all
# may be ... inaccurate.
#
# PortResetsPasv yes

#
# Shall we allow data connections only from the same host where
# the control connection originated from? Default is yes. If
# you say no here, the proxy is able to take part in so called
# third party server to server transfers.
#
# SameAddress		yes

#
# If given, chroot() to this directory after initializing.
#
# Note, that you have to create the /dev/null device and copy
# all needed libraries, configuration files, ... into this
# directory first!
#
# ServerRoot		/var/lib/ftp-proxy/rundir

#
# Determine whether to run as daemon or in inetd mode. This can
# be overridden by -d/-i command line switch. Default is inetd.
#
# ServerType		inetd
# ServerType		standalone

#
# Enable this flag if you want to use a random port in
# the specified range with PassiveMinDataPort/MaxDataPort,
# DestinationMinPort/MaxPort, ActiveMinPort/MaxDataPort
# instead of incrementing the port number.
#
# SockBindRand		no

#
# Shall we use the TCP Wrapper Library when running as daemon?
# "on", "yes", "true" or a non-zero number means yes, anything
# else no. Default no. Only applicable when running as daemon.
# Note that TCP Wrapper support must be compiled in for this to
# work.
#
# TCPWrapper		yes

#
# Defines the name to use for TCPWrapper checks. Default is
# to use the base name of the ftp-proxy binary (ftp-proxy).
#
# TCPWrapperName	ftp-proxy

# If a client has no activity for this many seconds, it is
# regarded to be dead and the connection will be terminated.
# Default is 900 seconds, i.e. 15 minutes.
#
# TimeOut		900

#
# If the proxy server needs to advertise itself (in outgoing
# responses to the ftp-server, like answers to PASV commands)
# with a different address than it actually has, the following
# option can be used. Relevant e.g. when using a NAT device
# in the path.
#
# TranslatedAddress	0.0.0.0

#
# If given, change UID to give up root privileges. In POSIX
# environments this changes all user ID's.
# If set, the proxy will use non-privileged ports (>1024) for
# active mode ftp transfers - see also ActiveMin/MaxDataPort.
#
User			nobody
# User			ftpproxy

#
# Defines the mechanism, the proxy should use to authenticate
# users - currently "ldap" is implemented.
#
# UserAuthType		ldap

#
# Defines if additional and the order of user authentication
# name and password should be encoded in FTP USER and PASS
# commands, as supported by some ftp-client's (i.e. @auth by
# NcFTP). Valid settings are:
#
#   @auth  for  ftpuser@authuser[@host:port]
#   auth@  for  authuser@[ftpuser@host:port]
#
# UserAuthMagic		@auth

#
# Defines the character to use as separator between user
# and host[:port] in the target setting of AllowMagicUser
# Default is the '@' character. This allows you to use
# E-Mail addresses as usernames for login to the ftp server
# (i.e. me@mydomain%ftp.server:21 if you set it to %).
#
# UseMagicChar		%
# UserMagicChar		%

#
# Allows to define a regular expression rule for validation
# of the user name. The default setting matches the usual
# cases inclusive E-Mail adresses and "domain/user" names:
#
# UserNameRule		^[[:alnum:]]+([%20@/\._-][[:alnum:]]+)*$


#
# List of FTP commands that will be allowed from a client.
# All commands not on this list will be rejected. If no list
# exists, then all commands will be allowed.
# Each command can be followed by an optional equals sign
# and regular expression (POSIX 1003.2) to restrict legal
# argument(s) syntax. In order to avoid confusing the
# configuration reading functions, the expression is "pre-
# processed." This means that a sequence like "%20" will be
# replaced by a space and "%5c" or "%5C" by a backslash
# before being compiled. In fact, this looks a bit like the
# HTML way of doing things. The percent sign itself is
# represented by "%25" of course. The pattern is interpreted
# as a POSIX 1003.2 RE (with REG_NEWLINE flag set), and is
# case sensitive. In any case, this works only if compiled
# with regular expression support compiled into the program.
#
# ValidCommands		ABOR, PASS, PASV, STOR, USER, \
#			MODE, QUIT, SYST

#
# This file will be presented to all clients immediately after
# the connection has been established. Each line is prefixed
# with "220-". The whole message is followed by a standard
# "220 <host> FTP server (<version>) ready" or whatever has
# been substituted with WelcomeString below. Escape sequences
# (like %h for hostname; see ftp-proxy.conf(5)) are active.
#
# WelcomeMessage	/etc/proxy-suite/ftp-welcome.txt

#
# If we wanted to disguise as some known other FTP server we
# could use the following option. It replaces the standard
# "<host> FTP server (<version>) ready" in the initial 220
# message. As with all Messages and Strings, various escape
# sequences are available.
#
# WelcomeString		Welcome to %h


############################################################
# $Log: ftp-proxy.conf.sample,v $
# Revision 1.6.2.4  2005/01/11 13:00:01  mt
# fixed default UserNameRule regexp rejecting user
# names where the 3. character is not alphanumeric
#
# Revision 1.6.2.3  2004/03/30 12:04:16  mt
# - changed awk,grep,logger paths to /bin and ServerRoot
#   to /var/lib/ftp-proxy/rundir (/var/ftp-proxy/rundir)
#   in rc-script and config samples
#
# Revision 1.6.2.2  2004/03/22 12:38:12  mt
# added UserNameRule option allowing a regex
# override of the builtin user name checks
#
# Revision 1.6.2.1  2003/05/07 11:07:49  mt
# added ForceMagicUser variable
#
# Revision 1.6  2002/05/02 13:44:52  mt
# added documented user auth related variables
#
# Revision 1.5  2002/01/14 19:15:01  mt
# actualized, added LogLevel TCPWrapperName MaxRecvBufSize options
#
# Revision 1.4  2001/11/06 23:04:44  mt
# applied / merged with transparent proxy patches v8
# see ftp-proxy/NEWS for more detailed release news
#
# Revision 1.3  1999/09/24 06:39:43  wiegand
# added regular expressions for all commands
# removed character map and length of paths
# added flag to reset PASV on every PORT
# added "magic" user with built-in destination
# added some argument pointer fortification
#
# Revision 1.2  1999/09/17 11:04:02  wiegand
# added path name restriction options
#
# Revision 1.1  1999/09/16 07:53:54  wiegand
# initial checkin
#
############################################################