In the latest release of BulletProof FTP Server, we’ve added the ability to import users via the “Bulk Import (CSV)” button, located in the User Manager. A CSV-File is a flat-text-file that contains a list of records (one per row) with a defined set of field-values for that record. This is analogous to a spreadsheet, such as Microsoft Excel and is often used as a method of getting data in/out of a spreadsheet.
To this end, we’ve developed a function that allows you to IMPORT user-accounts from another source, using a CSV file. Below is a list of fields that are supported for import. In this list, the first record you see is “ACCOUNTNAME”, this is a MANDATORY record as it is the unique-primary-key for the data. If ACCOUNTNAME exists, the data will be updated. If not, a new user-account will be created and all of the data will be set to the provided information. All other fields are optional, but each row in the CSV-file must contain the same fields as defined in the first header-record.
NOTE: Executing this functionality can be automated from the command-line utility “bpftpserver-adduser.exe”. Please see this HOWTO for more information.
EXAMPLE:
In the following example, we are defining a CSV file to import 11 new user-accounts (mmc000 to mmc010). Below you will find the first row contains the list of columns each row/record will contain; subsequent rows contain the data for the accounts. Please note, this is generic data and in this case, I choose to make a simple list of account-names that are prefixed with “mmc” and then use a 3-digit number. The intention is to show the power and flexibility; as each user-account can be assigned their own home-directory (c:\ftp\mmc999), groups, login-name, passwords, etc.
"AccountName","ACCESSRIGHTS_PACKED","Enabled","EnableLogin","Login","EnablePass","Pass","GroupName"
"mmc000","C:\ftp\mmc000;RWDAMLSK","1","1","mmc000","1","mmc000","mmc-group-0"
"mmc001","C:\ftp\mmc001;RWDAMLSK","1","1","mmc001","1","mmc001","mmc-group-0"
"mmc002","C:\ftp\mmc002;RWDAMLSK","1","1","mmc002","1","mmc002","mmc-group-0"
"mmc003","C:\ftp\mmc003;RWDAMLSK","1","1","mmc003","1","mmc003","mmc-group-0"
"mmc004","C:\ftp\mmc004;RWDAMLSK","1","1","mmc004","1","mmc004","mmc-group-0"
"mmc005","C:\ftp\mmc005;RWDAMLSK","1","1","mmc005","1","mmc005","mmc-group-0"
"mmc006","C:\ftp\mmc006;RWDAMLSK","1","1","mmc006","1","mmc006","mmc-group-0"
"mmc007","C:\ftp\mmc007;RWDAMLSK","1","1","mmc007","1","mmc007","mmc-group-0"
"mmc008","C:\ftp\mmc008;RWDAMLSK","1","1","mmc008","1","mmc008","mmc-group-0"
"mmc009","C:\ftp\mmc009;RWDAMLSK","1","1","mmc009","1","mmc009","mmc-group-0"
"mmc010","C:\ftp\mmc010;RWDAMLSK","1","1","mmc010","1","mmc010","mmc-group-0"
SUPPORTED FIELDS AVAILABLE TO BULK-IMPORT
Commonly Used Fields
FIELD_NAME | FIELD_TYPE | DEFAULT | MANDATORY |
ACCOUNTNAME | STRING | “” | TRUE |
AccessRights_Packed | STRING | “” | |
Enabled | BOOLEAN | True | |
EnableLogin | BOOLEAN | True | |
Login | STRING | “” | |
EnablePass | BOOLEAN | True | |
Pass | STRING | “” | |
EnableGroup | BOOLEAN | False | |
GroupName | STRING | “” | |
UseGroupHomeDir | BOOLEAN | False |
Lesser Lesser Used Fields
FIELD_NAME | FIELD_TYPE | DEFAULT | MANDATORY |
AddHomeLink | BOOLEAN | False | |
AddLinkFromFile | BOOLEAN | False | |
AddLinks | BOOLEAN | False | |
AllowChangePassword | BOOLEAN | False | |
AllowNoop | BOOLEAN | True | |
BannedFiles_PACKED | STRING | “” | |
By-Pass_MaxUser | BOOLEAN | False | |
ChgDirMsgFile | STRING | “” | |
DefaultGroupQuotaCredit | INTEGER | -1 | |
DefaultGroupRatioCredit | INTEGER | -1 | |
EnableMaxConPerIP | BOOLEAN | False | |
EnableMaxUsers | BOOLEAN | False | |
EnableSITECHAT | BOOLEAN | False | |
EnableSITEWHO | BOOLEAN | False | |
Hide hidden Files | BOOLEAN | False | |
Home-IP | STRING | “” | |
IPACLList_PACKED | STRING | “” | |
Info_Address | STRING | “” | |
Info_City | STRING | “” | |
Info_Email | STRING | “” | |
Info_Fax | STRING | “” | |
Info_Name | STRING | “” | |
Info_Notes | STRING | “” | |
Info_PhoneHome | STRING | “” | |
Info_PhoneWork | STRING | “” | |
LinksFile | STRING | “” | |
LoginMsgFile | STRING | “” | |
MaxConPerIP | INTEGER | 1 | |
MaxSpeedEnabled | BOOLEAN | False | |
MaxSpeedRcv | INTEGER | 512 | |
MaxSpeedSnd | INTEGER | 512 | |
MaxUsers | INTEGER | 0 | |
QuotaCurrent | INTEGER | 0 | |
QuotaEnabled | BOOLEAN | False | |
QuotaMax | INTEGER | 0 | |
RatioCredit | INTEGER | 0 | |
RatioDown | INTEGER | 1 | |
RatioEnabled | BOOLEAN | False | |
RatioMethod | INTEGER | 0 | |
RatioUp | INTEGER | 1 | |
RelativePath | BOOLEAN | False | |
ResolveLNK | BOOLEAN | True | |
ShowChangeDirMsg | BOOLEAN | False | |
ShowLoginMsg | BOOLEAN | False | |
TimeOutEnabled | BOOLEAN | True | |
Timeout | INTEGER | 600 | |
TreatLinksAs | BOOLEAN | True |