Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

245 lines
12 KiB

This file details the registry structure & specific values used by the
FTP Server service.
All FTP Server parameters "live" under the following key:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Services
FtpSvc
Parameters
The following values may exist under the Parameters key:
Name: AllowAnonymous
Type: REG_DWORD
Meaning: If this value is non-zero, then anonymous logons are allowed.
Otherwise (value IS zero) anonymous logons are not allowed.
Default: 1 (allow anonymous logons)
Name: AllowGuestAccess
Type: REG_DWORD
Meaning: If this value is non-zero, then guest-access logons are
allowed. Otherwise (value IS zero) guest-access logons
are not allowed. (Note that guest-access has nothing to
do with the "Guest" account; guest-access is granted if
the local machine's user rights policy states that
"Everyone" may access the machine from the network. Any
user that tries to logon with an unknown account will be
granted guest-access.)
Default: 1 (allow guest-access)
Name: AnnotateDirectories
Type: REG_DWORD
Meaning: If this value is non-zero, then everytime a user changes
directories (sends the server a CWD command) an attempt is
made to open a file called "~FTPSVC~.CKM" in the new
directory. If this file is found, its contents are sent
to the user as part of the successful reply to the CWD
command. This may be used to attach "annotations" to
specific directories.
This value is used as a default for new users. Users can
toggle their own personal "annotate directories" flag with
the site-specific CKM command (SITE CKM).
Default: 0 (don't annotate directories)
Name: AnonymousOnly
Type: REG_DWORD
Meaning: If this value is non-zero, then only anonymous logons are
allowed. Otherwise (value IS zero) then non-anonymous
logons are allowed as well.
Default: 0 (non-anonymous logons allowed).
Name: AnonymousUserName
Type: REG_SZ
Meaning: Anonymous logon alias. When a user attempts an anonymous
logon, the username specified ("anonymous") is mapped to
this registry value for the purposes off authentication
and impersonation. The password for this account is stored
in an LSA secret object named "FTPD_ANONYMOUS_DATA".
Default: "Guest"
Name: ConnectionTimeout
Type: REG_DWORD
Meaning: The time (in seconds) to allow clients to remain idle before
forcibly disconnecting them. This prevents idle clients
from consuming server resources indefinitely.
This value may be set to zero if timeouts are not to be
enforced. If set to zero, idle clients *can* remain connected
indefinitely.
Default: 600 (10 minutes)
Name: DebugFlags
Type: REG_DWORD
Meaning: This value is used only by the debugging (checked) builds of
the FTP Server. It controls the output of various debugging
information. This value is unused by retail builds.
Default: 0 (no debug output)
Name: DefaultLogonDomain
Type: REG_SZ
Meaning: The domain name to use when validating user logon requests
if the user did not specify a domain. If this value does
not exist in the registry, then the FTP Server will use the
local machine's primary logon domain instead.
Default: NULL (use the local machine's primary logon domain)
Name: DisableExtendedCharFilenames
Type: REG_DWORD
Meaning: RFC 0959 says only 7bi ASCII characters can be used to specify
file names in FTP commands. DeFacto, 8bit chars are being used
to specify extended char names and DBCS encoding. If this value
does not exists, or if it exists but set to 0, extended chars
are being accepted. If the value is 1, extended char file names
are rejected.
Default: Not created. (extended chars enabled)
Name: ExitMessage
Type: REG_SZ
Meaning: This is the signoff message sent to a client upon receipt
of a QUIT command.
Default: "Goodbye."
Name: GreetingMessage
Type: REG_MULTI_SZ
Meaning: This message (if it exists in the registry) is sent to new
clients after their account has been validated. In accordance
with "de facto" Internet behaviour, if a client logs on as
anonymous and specifies an identity starting with '-' (minus),
then this greeting message is NOT sent.
Default: NULL (no special greeting)
Name: BannerMessage
Type: REG_MULTI_SZ
Meaning: This message (if it exists in the registry) is sent to new
clients when they connect, right after the service name.
Default: NULL (no special greeting)
Name: HomeDirectory
Type: REG_EXPAND_SZ
Meaning: This is the initial "home" directory for new clients. After
a new client is validated, an attempt is made to CHDIR to
this directory. If this directory is inaccessible, the client
is refused FTP services. If the CHDIR is successful, then
an attempt is made to CHDIR to a directory with the same name
as the client's username. If this fails, an attempt is made
to CHDIR to a directory called "Default". If this fails,
the current directory is left at "home".
If a user finds that the home directory is inaccessible,
then an event is written to the event log indiciating such.
Default: "C:\"
Name: ListenBacklog
Type: REG_DWORD
Meaning: This is the "backlog" parameter passed into the listen()
API. This sets the maximum number of unaccepted connections
that can be queued against the socket that listens on the
main FTP port.
Default: 5
Name: LogAnonymous
Type: REG_DWORD
Meaning: If this value is non-zero, then all successful anonymous
logons are logged in the system event log. Otherwise
(value IS zero) successful anonymous logons are not logged.
Default: 0 (don't log successful anonymous logons)
Name: LogFileAccess
Type: REG_DWORD
Meaning: This value controls the logging of file accesses. This value
can be one of the following:
0 = Don't log file accesses
1 = Log file accesses to FTPSVC.LOG
2 = Log file accesses to FTyymmdd.LOG, where yy
is the year, mm is the month, and dd is
the day. A new log file will be opened
every day as necessary.
Default: 0 (don't log file accesses)
Name: LogFileDirectory
Type: REG_SZ
Meaning: This value specifies the target directory for log files.
This value is only used if LogFileAccess is !0.
Default: %SystemRoot%\System32
Name: LogNonAnonymous
Type: REG_DWORD
Meaning: If this value is non-zero, then all successful nonanonymous
logons are logged in the system event log. Otherwise
(value IS zero) successful nonanonymous logons are not logged.
Default: 0 (don't log successful nonanonymous logons)
Name: LowercaseFiles
Type: REG_DWORD
Meaning: If this value is non-zero, then all file names returned by
LIST and NLST commands for non-case-preserving filesystems
will be mapped to lowercase. If this value is zero, then
all file names will be unaltered.
Default: 0 (don't map filenames to lowercase)
Name: MaxClientsMessage
Type: REG_SZ
Meaning: This message (if it exists) is sent to a client if the maximum
number of clients has been reached/exceeded. This indicates
that the server is currently servicing the maximum number of
simultaneous clients and is refusing addtional clients.
Default: "Maximum clients reached, service unavailable."
Name: MaxConnections
Type: REG_DWORD
Meaning: This is the maximum number of simultaneous clients the server
will service.
This value may be set to zero if there is to be no limit on
simultaneous clients.
Default: 20
Name: MsdosDirOutput
Type: REG_DWORD
Meaning: If this value is non-zero, then the output of the LIST
command (usually sent as a result of a DIR from the client)
will look like the output of the MS-DOS DIR command.
Otherwise (value IS zero) then the output of the LIST command
will look like the output of the UNIX LS command.
This value also controls "slash flipping" in the path
sent by the PWD command. If this value is non-zero, the path
will contain backward "\" slashes. If this value IS zero, the
path will contain forward "/" slashes.
Default: 1 (directory listings like MS-DOS)
Name: ReadAccessMask
Type: REG_DWORD
Meaning: This value is a bitmask and controls the "readability" of
the various disk volumes in the system. Drive A: corresponds
to bit zero, drive B: is bit 1, drive C: is bit 2, etc. A
user may only read from a specific volume if the corresponding
bit is set.
Default: 0 (all read access denied)
Name: WriteAccessMask
Type: REG_DWORD
Meaning: This value is a bitmask and controls the "writability" of
the various disk volumes in the system. Drive A: corresponds
to bit zero, drive B: is bit 1, drive C: is bit 2, etc. A
user may only write to a specific volume if the corresponding
bit is set.
Default: 0 (all write access denied)
There is an additional (optional) key that may exist under the Parameters
key. After a user's account/password has been validated and the server is
impersonating that user, an attempt is made to open a key named "AccessCheck".
If this key exists, and the user cannot open it, then the user is denied
access to the FTP Server. If this key exists, and the user can only open it
for read access, then the user is given read-only access to the FTP Server.
This way, an administrator can create this "AccessCheck" key and attach
specific ACLs to the key. These ACLs will then control access to the FTP
Server.