The concept of a limited server is such that the owner of the hardware or OS can delegate server administration out to a third party, another admin. This delegation allows the server owner to set a locked location for server config files, and the server install versus the location user data files are placed.
In this limited mode, the "Share" storage for TempAccounts and Preview images for thumbnails need to be moved from the default CrushFTP folder location to a location within the user data. Otherwise thumbnails can't be retrieved or generated.
Example:
The server install could be: C:\CrushFTP8\
So prefs, user config, certificates, private keys can all be there.
The user data storage could be: D:\UserData\
So even if the admin tried to, they could not give a user access to something located in the C: drive. They can only give users access to things in the D:\UserData\ folder area and sub areas. The core functions in CrushFTP prevent accessing items out of their area.
The configuration is done via startup flags that change the behavior of CrushFTP.
file.warn = log an error about the violation, mainly useful for debugging why something got blocked (default=true)
file.log = if a separate audit log should be kept with all the error info (default=false)
file.strict = if its true, the action is blocked. Otherwise its allowed and just the error info is logged (default=false)
Windows:#
Edit the wrapper.conf file in the service file and append this to it (note the double backslashes due to config file encoding):wrapper.java.additional.2=-Dcrushftp.server.root=C:\\CrushFTP8\\ wrapper.java.additional.3=-Dcrushftp.user.root=D:\\UserData\\ wrapper.java.additional.4=-Dcrushftp.server.file.warn=true wrapper.java.additional.5=-Dcrushftp.server.file.log=false wrapper.java.additional.6=-Dcrushftp.server.file.strict=true
OSX / Linux / Other#
Edit the startup launcher (OSX=CrushFTP.command file in the CrushFTP folder, CrushFTP8.app/Contents/MacOS/CrushFTP.command) (Linux=/var/opt/CrushFTP8_PC/crushftp_init.sh)Find the "-Xmx" which is setting the memory arguments and configure these arguments before it:
-Dcrushftp.server.root=/var/opt/CrushFTP8_PC/ -Dcrushftp.user.root=/home/UserData/ -Dcrushftp.server.file.warn=true -Dcrushftp.server.file.log=false -Dcrushftp.server.file.strict=true -Xmx.........
In all cases, matching case is important even if the OS filesystem is not case sensitive.