1pure-ftpd(8) Pure-FTPd pure-ftpd(8)
2
3
4
6 pure-ftpd - simple File Transfer Protocol server
7
8
10 pure-ftpd [-0] [-1] [-4] [-6] [-a gid] [-A] [-b] [-B] [-c clients] [-C
11 cnx/ip] [-d [-d]] [-D] [-e] [-E] [-f facility] [-F fortunes file] [-g
12 pidfile] [-G] [-H] [-i] [-I] [-j] [-k percentage] [-K] [-l authentica‐
13 tion[:config file]] [-L max files:max depth] [-m maxload] [-M] [-n max‐
14 files:maxsize] [-N] [-o] [-O format:log file] [-p first:last] [-P ip
15 address or host name] [-q upload:download ratio] [-Q upload:download
16 ratio] [-r] [-R] [-s] [-S [address,][port]] [-t upload bandwidth:down‐
17 load bandwidth] [-T upload bandwidth:download bandwidth] [-u uid] [-U
18 umask files:umask dirs] [-v bonjour name] [-V ip address] [-w] [-W]
19 [-x] [-X] [-y max user sessions:max anon sessions] [-Y tls behavior]
20 [-z] [-Z]
21
22 Alternative style :
23 -0 --notruncate
24 -1 --logpid
25 -4 --ipv4only
26 -6 --ipv6only
27 -a --trustedgid
28 -A --chrooteveryone
29 -b --brokenclientscompatibility
30 -B --daemonize
31 -c --maxclientsnumber
32 -C --maxclientsperip
33 -d --verboselog
34 -D --displaydotfiles
35 -e --anonymousonly
36 -E --noanonymous
37 -f --syslogfacility
38 -F --fortunesfile
39 -g --pidfile
40 -G --norename
41 -h --help
42 -H --dontresolve
43 -i --anonymouscantupload
44 -I --maxidletime
45 -j --createhomedir
46 -k --maxdiskusagepct
47 -K --keepallfiles
48 -l --login
49 -L --limitrecursion
50 -m --maxload
51 -M --anonymouscancreatedirs
52 -n --quota
53 -N --natmode
54 -o --uploadscript
55 -O --altlog
56 -p --passiveportrange
57 -P --forcepassiveip
58 -q --anonymousratio
59 -Q --userratio
60 -r --autorename
61 -R --nochmod
62 -s --antiwarez
63 -S --bind
64 -t --anonymousbandwidth
65 -T --userbandwidth
66 -u --minuid
67 -U --umask
68 -v --bonjour
69 -V --trustedip
70 -w --allowuserfxp
71 -W --allowanonymousfxp
72 -x --prohibitdotfileswrite
73 -X --prohibitdotfilesread
74 -y --peruserlimits
75 -Y --tls
76 -z --allowdotfiles
77 -Z --customerproof
78
79
81 Pure-FTPd is a small, simple server for the old and hairy File Transfer
82 Protocol, designed to use less resources than older servers, be smaller
83 and very secure, and to never execute any external program.
84
85 It support most-used features and commands of FTP (including many mod‐
86 ern extensions), and leaves out everything which is deprecated, mean‐
87 ingless, insecure, or correlates with trouble.
88
89 IPv6 is fully supported.
90
91
93 -0 When a file is uploaded and there is already a previous version
94 of the file with the same name, the old file will neither get
95 removed nor truncated. Upload will take place in a temporary
96 file and once the upload is complete, the switch to the new ver‐
97 sion will be atomic. This option should not be used together
98 with virtual quotas.
99
100 -1 Add the PID to the syslog output. Ignored if -f none is set.
101
102 -4 Listen only to IPv4 connections.
103
104 -6 Listen only to IPv6 connections.
105
106 -a gid Regular users will be chrooted to their home directories, unless
107 they belong to the specified gid. Note that root is always
108 trusted, and that chroot() occurs only for anonymous ftp without
109 this option.
110
111 -A Chroot() everyone, but root.
112
113 -b Be broken. Turns on some compatibility hacks for shoddy clients,
114 and for broken Netfilter gateways.
115
116 -B Start the standalone server in background (daemonize).
117
118 -c clients
119 Allow a maximum of clients to be connected. clients must be at
120 least 1, and if you combine it with -p it will be forced down to
121 half the number of ports specified by -p. If more than clients
122 are connected, new clients are rejected at once, even clients
123 wishing to upload, or to log in as normal users. Therefore, it
124 is advisable to use -m as primary overload protection. The
125 default value is 50.
126
127 -C max connection per ip
128 Limit the number of simultanous connections coming from the same
129 IP address. This is yet another very effective way to prevent
130 stupid denial of services and bandwidth starvation by a single
131 user. It works only when the server is launched in standalone
132 mode (if you use a super-server, it is supposed to do that). If
133 the server is launched with -C 2 , it doesn't mean that the
134 total number of connection is limited to 2. But the same
135 client, coming from the same machine (or at least the same IP),
136 can't have more than two simultaneous connections. This features
137 needs some memory to track IP addresses, but it's recommended to
138 use it.
139
140 -d turns on debug logging. Every command is logged, except that the
141 argument to PASS is changed to "<password>". If you repeat -d ,
142 responses too are logged.
143
144 -e Only allow anonymous users to log in.
145
146 -E Only allow authenticated login. Anonymous users are prohibited.
147
148 -f facility
149 makes ftpd use facility for all syslog(3) messages. facility
150 defaults to ftp. The facility names are normally listed in
151 /usr/include/sys/syslog.h. Note that if -f is not the first
152 option on the command line, a couple of messages may be logged
153 to local2 before the -f option is parsed. Use -f none to dis‐
154 able logging.
155
156 -F fortunes file
157 Display a funny random message in the initial login banner. The
158 random cookies are extracted from a text file, in the standard
159 fortune format. If you installed the fortune package, you should
160 have a directory (usually /usr/share/fortune ) with binary files
161 ( xxxx.dat ) and text files (without the .dat extension).
162
163 -g pidfile
164 In standalone mode, write the pid to that file in instead of
165 /var/run/pure-ftpd.pid .
166
167 -G When this option is enabled, people can no more change the name
168 of already uploaded files, even if they own those files or their
169 directory.
170
171 -H Don't resolve host names ("192.0.34.166" will be logged instead
172 of "www.example.com"). It can significantly speed up connections
173 and reduce bandwidth usage on busy servers. Use it especially on
174 public FTP sites.
175
176 -i Disallow upload for anonymous users, whatever directory permis‐
177 sions are. This option is especially useful for virtual hosting,
178 to avoid your users create warez sites in their account.
179
180 -I timeout
181 Change the maximum idle time. The timeout is in minutes, and
182 defaults to 15.
183
184 -j If the home directory of an user doesn't exist, automatically
185 create it. The newly created home directory belongs to the user,
186 and permissions are set according to the current directory mask.
187 To avoid local attacks, the parent directory should never belong
188 to an untrusted user.
189
190 -k percentage
191 Disallow upload if the partition is more than percentage full.
192 Example: -k 95 will ensure that your disk will never get filled
193 more than 95% by FTP users.
194
195 -K Allow users to resume and upload files, but NOT to delete them.
196 Directories can be removed, but only if they are empty.
197
198 -l authentication:file
199 Enable a new authentication method. It can be one of : -l unix
200 For standard (/etc/passwd) authentication. -l pam For PAM
201 authentication. -l ldap:LDAP config file For LDAP directories.
202 -l mysql:MySQL config file For MySQL databases. -l pgsql:Post‐
203 gres config file For Postgres databases. -l puredb:PureDB data‐
204 base file For PureDB databases. -l extauth:path to pure-authd
205 socket For external authentication handlers.
206 Different authentication methods can be mixed together. For
207 instance if you run the server with -lpuredb:/etc/pwd.pdb
208 -lmysql:/etc/my.cf -lunix Accounts will first be authenticated
209 from a PureDB database. If it fails, a MySQL server will be
210 asked. If the account is still not found is the database, stan‐
211 dard unix accounts will be scanned. Authentication methods are
212 tried in the order you give the -l options.
213 See the README.LDAP and README.MySQL files for info about the
214 built-in LDAP and SQL directory support.
215
216 -L max files:max depth
217 Avoid denial-of-service attacks by limiting the number of dis‐
218 played files in a 'ls' and the maximum depth of a recursive
219 'ls'. Defaults are 2000:5 (2000 files displayed for a single
220 'ls' and walk through 5 subdirectories max).
221
222 -m load
223 Do not allow anonymous users to download files if the load is
224 above load when the user connects. Uploads and file listings are
225 still allowed, as are downloads by real users. The user is not
226 told about this until he/she tries to download a file.
227
228 -M Allow anonymous users to create directories.
229
230 -n maxfiles:maxsize
231 Enable virtual quotas When virtual quotas are enabled, .ftpquota
232 files are created, and the number of files for an user is
233 restricted to 'maxfiles'. The max total size of his directory is
234 also restricted to 'maxsize' Megabytes. Members of the trusted
235 group aren't subject to quotas.
236
237 -N NAT mode. Force active mode. If your FTP server is behind a NAT
238 box that doesn't support applicative FTP proxying, or if you use
239 port redirection without a transparent FTP proxy, use this.
240 Well... the previous sentence isn't very clear. Okay: if your
241 network looks like this:
242 FTP--NAT.gateway/router--Internet
243 and if you want people coming from the internet to have access
244 to your FTP server, please try without this option first. If
245 Netscape clients can connect without any problem, your NAT gate‐
246 way rulez. If Netscape doesn't display directory listings, your
247 NAT gateway sucks. Use -N as a workaround.
248
249 -o Enable pure-uploadscript.
250
251 -O format:log file
252 Record all file transfers into a specific log file, in an alter‐
253 native format. Currently, three formats are supported : CLF,
254 Stats, W3C and xferlog.
255 If you add
256 -O clf:/var/log/pureftpd.log
257 to your starting options, Pure-FTPd will log transfers in
258 /var/log/pureftpd.log in a format similar to the Apache web
259 server in default configuration.
260 If you add
261 -O stats:/var/log/pureftpd.log
262 to your starting options, Pure-FTPd will create accurate log
263 files designed for traffic analys software like ftpStats.
264 If you add
265 -O w3c:/var/log/pureftpd.log
266 to your starting options, Pure-FTPd will create W3C-conformant
267 log files.
268 For security purposes, the path must be absolute (eg.
269 /var/log/pureftpd.log, not ../log/pureftpd.log).
270
271 -p first:last
272 Use only ports in the range first to last inclusive for pas‐
273 sive-mode downloads. This means that clients will not try to
274 open connections to TCP ports outside the range first - last,
275 which makes pure-ftpd more compatible with packet filters. Note
276 that the maximum number of clients (specified with -c) is forced
277 down to (last + 1 - first)/2 if it is greater, as the default
278 is. (The syntax for the port range is, conveniently, the same as
279 that of iptables).
280
281 -P ip address or host name
282 Force the specified IP address in reply to a PASV/EPSV/SPSV com‐
283 mand. If the server is behind a masquerading (NAT) box that
284 doesn't properly handle stateful FTP masquerading, put the ip
285 address of that box here. If you have a dynamic IP address, you
286 can use a symbolic host name (probably the one of your gateway),
287 that will be resolved every time a new client will connect.
288
289 -q upload:download
290 Enable an upload/download ratio for anonymous users (ex: -q 1:5
291 means that 1 Mb of goodies have to be uploaded to leech 5 Mb).
292
293 -Q upload:download
294 Enable ratios for anonymous and non-anonymous users. If the -a
295 option is also used, users from the trusted group have no ratio.
296
297 -r Never overwrite existing files. Uploading a file whoose name
298 already exists cause an automatic rename. Files are called
299 xyz.1, xyz.2, xyz.3, etc.
300
301 -R Disallow users (even non-anonymous ones) usage of the CHMOD com‐
302 mand. On hosting services, it may prevent newbies from doing
303 mistakes, like setting bad permissions on their home directory.
304 Only root can use CHMOD when this switch is enabled.
305
306 -s Don't allow anonymous users to retrieve files owned by "ftp"
307 (generally, files uploaded by other anonymous users).
308
309 -S [{ip address|hostname}] [,{port|service name}]
310 This option is only effective when the server is launched as a
311 standalone server. Connections are accepted on the specified IP
312 and port. IPv4 and IPv6 are supported. Numeric and fully-quali‐
313 fied host names are accepted. A service name (see /etc/services)
314 can be used instead of a numeric port number.
315
316 -t bandwidth
317 or -t upload bandwidth:download bandwidth Enable process prior‐
318 ity lowering and bandwidth throttling for anonymous users. Delay
319 should be in kilobytes/seconds.
320
321 -T bandwidth
322 or -T upload bandwidth:download bandwidth Enable process prior‐
323 ity lowering and bandwidth throttling for *ALL* users.
324 Pure-FTPd should have been explicitely compiled with throttling
325 support to have these flags work. It is possible to have dif‐
326 ferent bandwidth limits for uploads and for downloads. '-t' and
327 '-T' can indeed be followed by two numbers delimited by a column
328 (':'). The first number is the upload bandwidth and the next one
329 applies only to downloads. One of them can be left blank which
330 means infinity. A single number without any column means that
331 the same limit applies to upload and download.
332
333 -u uid Do not allow uids below uid to log in (typically, low-numbered
334 uids are used for administrative accounts). -u 100 is suffi‐
335 cient to deny access to all administrative accounts on many
336 linux boxes, where 99 is the last administrative account. Anony‐
337 mous FTP is allowed even if the uid of the ftp user is smaller
338 than uid. -u 1 denies access only to root accounts. The default
339 is to allow FTP access to all accounts.
340
341 -U umask files:umask dirs
342 Change the mask for creation of new files and directories. The
343 default are 133 (files are readable -but not writable- by other
344 users) and 022 (same thing for directory, with the execute bit
345 on). If new files should only be readable by the user, use
346 177:077. If you want uploaded files to be executable, use
347 022:022 (files will be readable by other people) or 077:077
348 (files will only be readable by their owner).
349
350 -v bonjour name
351 Set the Bonjour name of the service (only available on MacOS X
352 when Bonjour support is compiled in).
353
354 -V ip address
355 Allow non-anonymous FTP access only on this specific local IP
356 address. All other IP addresses are only anonymous. With that
357 option, you can have routed IPs for public access, and a local
358 IP (like 10.x.x.x) for administration. You can also have a
359 routable trusted IP protected by firewall rules, and only that
360 IP can be used to login as a non-anonymous user.
361
362 -w Enable support for the FXP protocol, for non-anonymous users
363 only.
364
365 -W Enable the FXP protocol for everyone. FXP IS AN UNSECURE PROTO‐
366 COL. NEVER ENABLE IT ON UNTRUSTED NETWORKS.
367
368 -x In normal operation mode, authenticated users can read/write
369 files beginning with a dot ('.'). Anonymous users can't, for
370 security reasons (like changing banners or a forgotten .rhosts).
371 When '-x' is used, authenticated users can download dot-files,
372 but not overwrite/create them, even if they own them. That way,
373 you can prevent hosted users from messing
374
375 -X This flag is identical to the previous one (writing dot-files is
376 prohibited), but in addition, users can't even *read* files and
377 directories beginning with a dot (like "cd .ssh").
378
379 -y per user max sessions:max anonymous sessions
380 This switch enables per-user concurrency limits. Two values are
381 separated by a column. The first one is the max number of con‐
382 current sessions for a single login. The second one is the maxi‐
383 mum number of anonoymous sessions.
384
385 -Y tls behavior
386 -Y 0 (default) disables SSL/TLS security mechanisms.
387 -Y 1 Accept both normal sessions and SSL/TLS ones.
388 -Y 2 refuses connections that aren't using SSL/TLS security
389 mechanisms, including anonymous ones.
390 The server must have been compiled with SSL/TLS support and a
391 valid certificate must be in place to accept encrypted sessions.
392
393 -z Allow anonymous users to read files and directories starting
394 with a dot ('.').
395
396 -Z Add safe guards against common customer mistakes (like chmod 0
397 on their own files) .
398
399
400
402 Some of the complexities of older servers are left out.
403
404 This version of pure-ftpd can use PAM for authentication. If you wan't
405 it to consult any files like /etc/shells or /etc/ftpd/ftpusers consult
406 pam docs. LDAP directories and SQL databases are also supported.
407
408 Anonymous users are authenticated in any of three ways:
409
410 1. The user logs in as "ftp" or "anonymous" and there is an account
411 called "ftp" with an existing home directory. This server does not ask
412 anonymous users for an email address or other password.
413
414 2. The user connects to an IP address which resolves to the name of a
415 directory in /etc/pure-ftpd (or a symlink in that directory to a real
416 directory), and there is an account called "ftp" (which does not need
417 to have a valid home directory). See Virtual Servers below.
418
419 Ftpd does a chroot(2) to the relevant base directory when an anonymous
420 user logs in.
421
422 Note that ftpd allows remote users to log in as root if the password is
423 known and -u not used.
424
425
427 Ftpd never switches uid and euid, it uses setfsuid(2) instead. The main
428 reason is that uid switching has been exploited in several breakins,
429 but the sheer ugliness of uid switching counts too. Ftpd only calls
430 setfsuid(2) once, at login.
431
432 If a user's home directory is /path/to/home/./, FTP sessions under that
433 UID will be chroot()ed. In addition, if a users's home directory is
434 /path/to/home/./directory the session will be chroot()ed to
435 /path/to/home and the FTP session will start in 'directory'.
436
437 As noted above, this pure-ftpd omits several features that are required
438 by the RFC or might be considered useful at first. Here is a list of
439 the most important omissions.
440
441 On-the-fly tar is not supported, for several reasons. I feel that users
442 who want to get many files should use a special FTP client such as
443 "mirror," which also supports incremental fetch. I don't want to either
444 add several hundred lines of code to create tar files or execute an
445 external tar. Finally, on-the-fly tar distorts log files.
446
447 On-the-fly compression is left out too. Most files on an FTP site are
448 compressed already, and if a file isn't, there presumably is a reason
449 why. (As for decompression: Don't FTP users waste bandwidth enough
450 without help from on-the-fly decompression?)
451
452
454 Shortcuts for the "cd" command can be set up if the server has been
455 compiled with the --with-diraliases feature.
456
457 To enable directory aliases, create a file called
458 /etc/pureftpd-dir-aliases and alternate lines of alias names and asso‐
459 ciated directories.
460
461
463 This server leaves out some of the commands and features that have been
464 used to subvert anonymous FTP servers in the past, but still you have
465 to be a little bit careful in order to support anonymous FTP without
466 risk to the rest of your files.
467
468 Make ~ftp and all files and directories below this directory owned by
469 some user other than "ftp," and only the .../incoming directory/direc‐
470 tories writable by "ftp." It is probably best if all directories are
471 writable only by a special group such as "ftpadmin" and "ftp" is not a
472 member of this group.
473
474 If you do not trust the local users, put ~ftp on a separate partition,
475 so local users can't hard-link unapproved files into the anonymous FTP
476 area.
477
478 Use of the -s option is strongly suggested. (Simply add "-s" to the end
479 of the ftpd line in /etc/inetd.conf to enable it.)
480
481 Most other FTP servers require that a number of files such as
482 ~ftp/bin/ls exist. This server does not require that any files or
483 directories within ~/ftp whatsoever exist, and I recommend that all
484 such unnecessary files are removed (for no real reason).
485
486 It may be worth considering to run the anonymous FTP service as a vir‐
487 tual server, to get automatic logins and to firewall off the FTP
488 address/port to which real users can log in.
489
490 If your server is a public FTP site, you may want to allow only 'ftp'
491 and 'anonymous' users to log in. Use the -e option for this. Real
492 accounts will be ignored and you will get a secure, anonymous-only FTP
493 server.
494
495
497 The files <ftproot>/.banner and .message are magical.
498
499 If there is a file called .banner in the root directory of the anony‐
500 mous FTP area, or in the root directory of a virtual host, and it is
501 shorter than 1024 bytes, it is printed upon login. (If the client does
502 not log in explicitly, and an implicit login is triggered by a CWD or
503 CDUP command, the banner is not printed. This is regrettable but hard
504 to avoid.)
505
506 If there is a file called .message in any directory and it is shorter
507 than 1024 bytes, that file is printed whenever a user enters that
508 directory using CWD or CDUP.
509
510
512 You can run several different anonymous FTP servers on one host, by
513 giving the host several IP addresses with different DNS names.
514
515 Here are the steps needed to create an extra server using an IP alias
516 on linux 2.4.x, called "ftp.example.com" on address 10.11.12.13. on the
517 IP alias eth0.
518
519 1. Create an "ftp" account if you do not have one. It it best if the
520 account does not have a valid home directory and shell. I prefer to
521 make /dev/null the ftp account's home directory and shell. Ftpd uses
522 this account to set the anonymous users' uid.
523
524 2. Create a directory as described in Anonymous FTP and make a symlink
525 called /etc/pure-ftpd/10.11.12.13 which points to this directory.
526
527 3. Make sure your kernel has support for IP aliases.
528
529 4. Make sure that the following commands are run at boot:
530
531 /sbin/ifconfig eth0:1 10.11.12.13
532
533 That should be all. If you have problems, here are some things to try.
534
535 First, symlink /etc/pure-ftpd/127.0.0.1 to some directory and say "ftp
536 localhost". If that doesn't log you in, the problem is with ftpd.
537
538 If not, "ping -v 10.11.12.13" and/or "ping -v ftp.example.com" from the
539 same host. If this does not work, the problem is with the IP alias.
540
541 Next, try "ping -v 10.11.12.13" from a host on the local ethernet, and
542 afterwards "/sbin/arp -a". If 10.11.12.13 is listed among the ARP
543 entries with the correct hardware address, the problem is probably with
544 the IP alias. If 10.11.12.13 is listed, but has hardware address
545 0:0:0:0:0:0, then proxy-ARP isn't working.
546
547 If none of that helps, I'm stumped. Good luck.
548
549 Warning: If you setup a virtual hosts, normal users will not be able to
550 login via this name, so don't create link/directory in /etc/pure-ftpd
551 for your regular hostname.
552
553
555 /etc/passwd is used via libc (and PAM is this case), to get the uid and
556 home directory of normal users, the uid and home directory of "ftp" for
557 normal anonymous ftp, and just the uid of "ftp" for virtual ftp hosts.
558
559 /etc/shadow is used like /etc/passwd if shadow support is enabled.
560
561 /etc/group is used via libc, to get the group membership of normal
562 users.
563
564 /proc/net/tcp is used to count existing FTP connections, if the -c or
565 -p options are used
566
567 /etc/pure-ftpd/<ip address> is the base directory for the <ip address>
568 virtual ftp server, or a symbolic link to its base directory. Ftpd
569 does a chroot(2) into this directory when a user logs in to <ip
570 address>, thus symlinks outside this directory will not work.
571
572 ~ftp is the base directory for "normal" anonymous FTP. Ftpd does a
573 chroot(2) into this directory when an anonymous user logs in, thus sym‐
574 links outside this directory will not work.
575
576
578 The behaviour of LIST and NLST is a tricky issue. Few servers send
579 RFC-compliant responses to LIST, and some clients depend on non-compli‐
580 ant responses.
581
582 This server uses glob(3) to do filename globbing.
583
584 The response to NLST is by default similar to that of ls(1), and that
585 to LIST is by default similar to that of ls -l or ls -lg on most Unix
586 systems, except that the "total" count is meaningless. Only regular
587 files, directories and symlinks are shown. Only important ls options
588 are supported:
589
590 -1 Undoes -l and -C.
591
592 -a lists even files/directories whose names begin with ".".
593
594 -C lists files in as many colums as will fit on the screen. Undoes
595 -1 and -l.
596
597 -d lists argument directories' names rather their contents.
598
599 -D List files beginning with a dot ('.') even when the client
600 doesn't append the -a option to the list command.
601
602 -F appends '*' to executable regular files, '@' to symlinks and '/'
603 to directories.
604
605 -l shows various details about the file, including file group. See
606 ls(1) for details. Undoes -1 and -C.
607
608 -r reverses the sorting order (modifies -S and -t and the default
609 alphabetical ordering).
610
611 -R recursively descends into subdirectories of the argument direc‐
612 tories.
613
614 -S Sorts by file size instead of by name. Undoes -t.
615
616 -t Sorts by file modification time instead of by name. Undoes -S.
617
618
620 Here are the FTP commands supported by this server.
621 ABOR NOOP ALLO USER PASS QUIT SYST PORT EPRT PASV EPSV SPSV PWD XPWD
622 CWD XCWD CDUP XCUP HELP RETR REST DELE STOR APPE STOU MKD XMKD RMD XRMD
623 LIST NLST TYPE MODE STRU XDBG MDTM SIZE RNFR RNTO STAT MLST MLSD FEAT
624 ESTA ESTP AUTH TLS PBSZ PROT OPTS UTF8 OPTS MLST SITE IDLE SITE CHMOD
625 SITE HELP SITE TIME SITE UTIME
626
627
629 Please report bugs to the mailing-list (see below). Pure-FTPd looks
630 very stable and is used on production servers. However it comes with no
631 warranty and it can have nasty bugs or security flaws.
632
633
635 http://www.pureftpd.org/
636
638 See the mailing-list on http://www.pureftpd.org/ml/.
639
640
642 Troll-FTPd was written by Arnt Gulbrandsen <agulbra@troll.no> and copy‐
643 right 1995-2002 Troll Tech AS, Waldemar Thranes gate 98B, N-0175 Oslo,
644 Norway, fax +47 22806380.
645
646 Pure-FTPd is (C)opyleft 2001-2006 by Frank DENIS <j@pureftpd.org> and
647 the Pure-FTPd team.
648
649 This software is covered by the BSD license.
650
651 Contributors:
652 Arnt Gulbrandsen,
653 Troll Tech AS,
654 Janos Farkas,
655 August Fullford,
656 Ximenes Zalteca,
657 Patrick Michael Kane,
658 Arkadiusz Miskiewicz,
659 Michael K. Johnson,
660 Kelley Lingerfelt,
661 Sebastian Andersson,
662 Andreas Westin,
663 Jason Lunz,
664 Mathias Gumz,
665 Claudiu Costin,
666 Ping,
667 Paul Lasarev,
668 Jean-Mathieux Schaffhauser,
669 Emmanuel Hocdet,
670 Sami Koskinen,
671 Sami Farin,
672 Luis Llorente Campo,
673 Peter Pentchev,
674 Darren Casey,
675 The Regents of the University of California,
676 Theo de Raadt (OpenBSD),
677 Matthias Andree,
678 Isak Lyberth,
679 Steve Reid,
680 RSA Data Security Inc,
681 Trilucid,
682 Dmtry Lebkov,
683 Johan Huisman,
684 Thorsten Kukuk,
685 Jan van Veen,
686 Roger Constantin Demetrescu,
687 Stefano F.,
688 Robert Varga,
689 Freeman,
690 James Metcalf,
691 Im Eunjea,
692 Philip Gladstone,
693 Kenneth Stailey,
694 Brad Smith,
695 Ulrik Sartipy,
696 Cindy Marasco,
697 Nicolas Doye,
698 Thomas Briggs,
699 Stanton Gallegos,
700 Florin Andrei,
701 Chan Wilson,
702 Bjoern Metzdorf,
703 Ben Gertzfield,
704 Akhilesch Mritunjai,
705 Dawid Szymanski,
706 Kurt Inge Smadal,
707 Alex Dupre,
708 Gabriele Vinci,
709 Andrey Ulanov,
710 Fygul Hether,
711 Jeffrey Lim,
712 Ying-Chieh Liao,
713 Johannes Erdfelt,
714 Martin Sarfy,
715 Clive Goodhead,
716 Aristoteles Pagaltzis,
717 Stefan Hornburg,
718 Mehmet Cokcevik,
719 Brynjar Eide,
720 Torgnt Wernersson,
721 Banhalmi Csaba,
722 Volodin D,
723 Oriol Magrané,
724 Jui-Nan Lin,
725 Patrick Gosling.
726
727
729 ftp(1), pure-ftpd(8) pure-ftpwho(8) pure-mrtginfo(8) pure-upload‐
730 script(8) pure-statsdecode(8) pure-pw(8) pure-quotacheck(8) pure-
731 authd(8)
732
733 RFC 959, RFC 2228, RFC 2389 and RFC 2428.
734
735
736
737Pure-FTPd Team 1.0.21 pure-ftpd(8)