Introduction
Starting with LucidLink Release 2.7.x it is possible to enable the --fuse-allow-other mechanism for filespaces mounted from the Lucid application. This can be useful for software that runs certain processes under different local users and needs access to the mount point.
Traditionally, this was only possible when mounting a filespace from the command line. This prevented connecting with an SSO user and sharing the mount point resource.
More information on the option can be found by running: lucid help daemon
This article is applicable only to Linux versions of the Lucid application. macOS has --fuse-allow-other enabled by default on all instances launched from the application.
Workflow Overview
- Edit the
app.json
to include the new fuseAllowOther configuration. - Edit
/etc/fuse.conf
to enable the feature in FUSE.
How-To
It is very important that the steps below are followed exactly and that the formatting of theapp.json
is checked with extra attention. All editing of theapp.json
file must be performed with the Lucid application exited completely, failure to do this will result in a freshapp.json
.
Warning: Performing the actions below will allow other users, on a multi-user system, to access the Filespace mountpoint. You should carefully consider the implications of this in your specific environment before proceeding. Without the below steps, only the user that creates the mountpoint (and root) will have access to it.
- Open the Lucid application and connect to the filespace, this creates the necessary
app.json
file that we will edit. - Disconnect from the filespace and exit the Lucid application completely.
- With elevated privileges, edit
/etc/fuse.conf
then uncomment (or add) the user_allow_other option. Save and exit the file. - Locate the
app.json
file in the hidden.lucid
directory located in your home folder (by default):/home/username/.lucid
- Make a copy of the
app.json
as a backup, since a malformattedapp.json
will be replaced with a blank one and may generate a new local metadata cache and data cache. - Edit the
app.json
using your favourite text editor to include the fuseAllowOther option at either the global or per-filespace level (see Example below). - Save the changes.
- Open the Lucid application and connect to the filespace.
- You can specify the fuseAllowOther configuration globally and/or at the filespace level, meaning each filespace can have a unique configuration.
- Filespace level configuration of fuseAllowOther takes precedence over the global configuration.
- By default, the Lucid application will connect with fuseAllowOther set to false.
-
fuseAllowOther only accepts true or false values. Incorrect formatting of
app.json
or misspelling of the value will result in validation failure andapp.json
will be overwritten with a newapp.json
.
Example
In the below example, we have set fuseAllowOther to true on the global level but to false specifically for filespace lucid.support. This means that lucid2.support will mount with inherit the fuseAllowOther = true but lucid.support will mount with fuseAllowOther = false.
Pay very close attention to the location of the fuseAllowOther option:
- When adding it to the global configuration (above the "filespaces" line) you must ensure to include a , (comma) after true.
- When adding it to the filespace level (below the respective "filespace" line) you must ensure to add a , (comma) at the end of the "filespace" line.
If you are unsure your formatting is correct, you can use an online JSON Validation tool to check for mistakes before opening the Lucid application.
A copy of this example is attached to the article, at the bottom.
{
"updater": {
"notificationInterval": 86400,
"askMeLaterIgnoreDuration": 1209600
},
"fuseAllowOther": true,
"filespaces": [
{
"user": "root",
"filespaceName": "lucid2.support",
"lastLogin": 1721046159,
"updatedAt": 1721046159,
"stayConnected": false,
"filespace": "lucid2.support"
},
{
"user": "root",
"filespaceName": "lucid.support",
"lastLogin": 1721046144,
"updatedAt": 1721046144,
"stayConnected": false,
"filespace": "lucid.support",
"fuseAllowOther": false
}
],
"instances": [
{
"filespaceId": "59212923-45e1-4218-9233-c47831e24c2d",
"filespaceName": "lucid2.support",
"instance": 502
},
{
"filespaceId": "0c8216b0-bd06-42e8-afde-1fffd40cc184",
"filespaceName": "lucid.support",
"instance": 501
}
]
}
Troubleshooting
If you see the following message "Failed to mount with --fuse--allow-other: Failed to mount" when connecting to your filespace, this likely indicates that user_allow_other is not present or is commented out in /etc/fuse.conf
Your /etc/fuse.conf
file should look like this (after uncommenting user_allow_other):
# mount_max = 1000
user_allow_other
If you are unsure about any step of this article, please reach out to our Support team by submitting a ticket.
Resources
You can read more about the FUSE user_allow_other
behaviour here.
- app.json.example876 Bytes