What is the Scoreboard
The ScoreboardFile
is used by proftpd
for tracking
information for each current FTP session. It is necessary for things like
MaxClients
, MaxClientsPerUser
, etc.
The utility programs (ftpwho
, ftpcount
,
ftptop
) read the scoreboard and display its information.
Here's how proftpd
handles its scoreboard: There is a default
path that proftpd
will use for writing its scoreboard
(var/proftpd/proftpd.scoreboard
). This default path depends on
how you install proftpd (i.e. if you install from source and use the
--prefix configure
option, the default path will be adjusted to
honor your --prefix). However, you can also explicitly tell the daemon what
location to use for its scoreboard using the ScoreboardFile
configuration directive in your proftpd.conf
. When
the daemon starts up, it looks to see if there is a scoreboard already there;
if there isn't, it makes a new one.
The most common error encountered when opening the scoreboard is:
unable to open scoreboard: No such file or directoryThis usually means that
proftpd
is trying to open a
ScoreboardFile
in a directory that does not exist. Some packages
fail to create the needed directory; this will result in the error message
above. If you cannot find your ScoreboardFile
, you should try
explicitly configuring the path to the file to use in your
proftpd.conf
, using the ScoreboardFile
configuration
directive, and then obtaining debugging output from your proftpd
,
to see if the daemon ran into problems using that defined location.
Frequently Asked Questions
Question: Why doesn't proftpd
create the needed directories, if they're not there, when opening the scoreboard?
Answer: The short answer is because that is the
job of the system administrator, not the application. The long reason
is that proftpd
does not know the filesystem layout being
used, and does not know what sort of permissions should be given to any
directories it might need to create for its scoreboard.
Question: Can I copy my scoreboard from one server to another?
Answer: No. ScoreboardFile
s cannot be
copied from server to server; they are specific to that particular
installation.
In the same fashion, you should not try to place the scoreboard on an NFS
filesystem. First, attempting to share the scoreboard is not supported, and
will only lead to trouble. Second, NFS does not support file locking, which
proftpd
requires for handling the scoreboard.
Question: Why do I see "scrubbing scoreboard" in my debugging output?
Answer: There is a bad habit among system
administrators of using `kill -9'
to kill a misbehaving process.
Any process that is terminated this way, though, does not have a chance
of properly shutting down. Administrators would use `kill -9'
on some of proftpd
's session processes, which means that
they would not be able to remove themselves from the scoreboard.
ftpwho
and ftptop
would show sessions that no
longer existed.
The chance of changing this bad habit in system administrators is slim, so
proftpd
was changed to check the scoreboard periodically. It
will scan the entire scoreboard file, and for each scoreboard session listed,
it asks the operating system if that session process is still alive. If
the answer is no, the entry is removed from the scoreboard. This process
is known as "scrubbing".