FileZilla Server supports the creation of users and groups. One user can belong to more than one group (see the Users section below) and groups are used to define properties shared by all users belonging to them.
You can set the following properties:
- Mount points
- Speed limits
To edit a group, select it from the list you find on the left of the Groups panel. On the right side of the Groups panel you find three tabs:
- The General tab allows you to edit the mount points and set an optional description for that group.
- The Filters tab allows you to edit the filters for that group.
- The Speed limits tab allows to edit the speed limits for that group.
To create a new group, click on the Add button you find at the bottom.
To rename a group, select it and click on the Rename button.
To duplicate a group, select it and click on the Duplicate button.
To remove a group, select it and click on the Remove button. Be aware that, in case there is at least one user in that group, you’ll be asked to choose if you want to delete just the group, delete also all the users in it, or move the users to another group.
Editing mount points
To share files and directories with FTP users, FileZilla Server uses the concept of mount points.
A mount point includes a virtual path and a native path. The native path is a local file path, the virtual path is the path that the FTP users will see and it is mapped to the native path by FileZilla Server.
To add a mount point click on the Add button and enter a virtual path (eg. \) and a native path (eg,
Virtual path format
The format of the virtual path is the same one used by UNIX-like operating systems: files and directories are separated by the slash ‘/’ character and all files and directories belong to
a unique root, whose name is exactly ‘/’. Virtual paths are normalized by resolving all . and ..
directories and removing any trailing ‘/’ character.
Native path format
The format of the native path is the same used by the operating system. On Windows UNC paths are supported too, and both the slash ‘/’ and backslash ‘\’ characters are valid separators. Native paths are normalized just like virtual paths. In addition, on Windows the slash ‘/’ is normalized to become a backslash ‘\’, path segments are not allowed to terminate with dots and they cannot contain the colon ‘:’ character, except for the device name.
Placeholders can be used to define native paths, and are replaced with their values when the native path is resolved. There are two placeholders available:
- :h – gets replace with the absolute path of the home directory of the logged in user.
Since it gets substituted by an absolute path, when used, it must be the only element
of the native path.
- :u – gets substituted with the name of the currently logged in user.
Further limitations (Windows only)
Virtual paths cannot contain the backslash ‘\’ character and they cannot contain the colon ‘:’ as well.
Both the virtual and native paths must be in their absolute form, meaning they must begin with the root directory. Native path on Windows must either be in the UNC path form or begin with a drive device letter followed by a colon followed by a backslash (or a slash).
Sharing a directory through a mount point also shares all the files and directories contained therein, unless otherwise specified by the permissions associated with the mount point itself.
Permissions can be set as Read only, Read + Write or Disabled.
If you choose Read, neither files nor the directory structure will be modifiable.
If you choose Read + Write any kind of modification will be allowed, unless the flag Writable directory structure is deselected, in which case it won’t be possible to create, delete or rename subdirectories.
If you choose Disabled you can hide a directory whose parent directory has been made available through a mount point. For example:
First mount point
Virtual path: /Documents
Native path: /home/user/Documents/ [enabled]
Second mount point:
Virtual path: /Documents/hidden [disabled]
Native path: empty.
Note: The native path is disabled if you set the permission as Disabled.
By default, permissions are applied to all subdirectories. If you want to avoid that, deselect the checkbox Apply permissions to subdirectories. By doing that all subdirectories of a mount point will implicitly have permissions set to Disabled.
Note that permissions are further restricted by the ones set on the underlying native file system. For example, if a file is set as read-only at file system level and at the same time it’s visible through a mount point whose permissions are read+write, the file will not be writable.
FileZilla Server implements IP-based filtering at group level too.
Please, refer to the Filters section to learn how to edit group filters.
Editing the Speed Limits
In the Speed tab you can set up upload and download limits which can be specific to each session related to the group, or shared by all sessions related to the group.
For instance, if a per-session limit is set to 10KiB/s and 5 sessions related to the group are alive, then all sessions will be able to reach 50KiB/s. If you set a shared-session limit to 10KiB/s and 5 sessions related to the group are alive, then all sessions together will be limited at 10KiB/s.
The video tutorial below shows how to configure FileZilla Server’s user types and how to use placeholders to define native paths.