BulletProof FTP Server is an excellent FTP Server for Windows. With the recent development efforts in v2011, we thought it would be a good time to introduce some of the command-line-switches (CLI) for managing BPFTP Server from external programs, web-sites, scripts, etc.
NOTE: At times you’ll see BulletProof FTP Server for Windows referred to as “BPS”.
Let’s first start with a brief explanation of the binaries distributed with BulletProof FTP Server for Windows (BPS):
The default installation location for the program is located in the following location:
%PROGRAMFILES%\BulletProof FTP Server\
Depending on your version of Windows, %PROGRAMFILES% is expanded to the following for 32-Bit and 64-Bit versions of Windows:
C:\Program Files\BulletProof FTP Server\
C:\Program Files (x86)\BulletProof FTP Server\
Investigating this location will yield the following executables:
bpftpserver.exe – Main executable for the program
bpftpserver-adduser.exe – CLI to manipulating the User & Group Database
bpftpserver-service.exe – responsible for controlling BPS when it’s running as a Windows System Service
CSDispatcher.exe – used with “remote debug” for sending log-messages to our remote-server
Will cause the running instance of BPS to reload the settings, users and group information.
Take BPS online and ready for incoming connections.
Take BPS offline and disable the listener from answering incoming connections.
Terminate BPS and stop it’s execution on the system. All users will be forcibly disconnected.
Keep BPS online and all active-connections maintain, but disable the listener; resuling in no *new* connections accepted.
Renable the listener, allowing new connections to be accepted.
Start logging to the log-file defined in the software.
Stop logging to the log-file.
Kick all currently connected users off of the server.
Regenerate the statistics files for users in the system.
BulletProof FTP Server command-line utility 'bpftpserver-adduser.exe'
Copyright (c) 1998-2015 BulletProof Software LLC, All Rights Reserved.
Command-line utility to manipulate the USER and GROUP database for BulletProof FTP Server.
Usage: bpftpserver-adduser.exe [OPTION]…
Bulk Import (more) New in Version 2013.1.0.7 – 2013-JUNE-26
–bulkimport-help (reports a list of fields supported for CSV import)
–bulkimport-help-as-html (output HTML version of –bulkimport-help
Access = R(ead) W(rite) D(elete) A(ppend) M(ake) L(ist) S(ubdir) K(delete dir)
First -access will be Home Directory
C:\Program Files (x86)\BulletProof FTP Server\bpftpserver-adduser.exe -name=newuser -enabled -login=newlogin -pswd=newpass -group=demogroup -loginmsg=c:\login.txt -access=c:\ftproot\,RLS -banfile=+*.jpg,+*.gif
Some explanation of the behavior is important, specifically the “-access” parameter. In the above example the login of “newlogin” for the account “newuser” is given the directory of “c:\ftproot\”
We’ll break down the command-line, piece by piece
While initially confusing, there’s a difference between an “account-name” and the “login-name”. The account-name refers to a “user-friendly” name for the account, such as “upstairs accountant” and “log-name” is the actual login that used to access the ftp-server; such as “accountant”.
Will enable the account for login
The login-name for the user to use to access the ftp-server (see above not for
The password for the login
If the account belongs to a group, you can specify the name of the group (OPTIONAL)
Will send a user-specific login-message via the protocol to the user after logging in (OPTIONAL)
Will add an access-right for the account to the directory
c:\ftproot\ with the privledges of (R)ead,(L)ist,(S)ubdir . The first access-right specified will be the HOME-DIRECTORY for the user. Additional access-rights can be defined by use the “-access” parameter again. If you are specifying a user-account that already exists, then all access-rights for the account will be deleted and given the access-rights that you define here.
Will add a file-mask of files that the user-account is prohibited from uploading or downloading. (OPTIONAL)