1pure-ftpd(8)                       Pure-FTPd                      pure-ftpd(8)
2
3
4

NAME

6       pure-ftpd - simple File Transfer Protocol server
7
8

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

AUTHENTICATION

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

UNUSUAL FEATURES

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

DIRECTORY ALIASES

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

ANONYMOUS FTP

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

MAGIC FILES

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

VIRTUAL SERVERS

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

FILES

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

LS

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

PROTOCOL

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

BUGS

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

HOME PAGE

635       http://www.pureftpd.org/
636

NEW VERSIONS

638       See the mailing-list on http://www.pureftpd.org/ml/.
639
640

AUTHOR AND LICENSE

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

SEE ALSO

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)
Impressum