Resolving license file access issues due to parent directory permissions
Explains how restrictive parent directory permissions can prevent Posit Workbench from accessing a valid license file, even when the license file itself appears correctly configured.
Introduction
Posit Workbench may intermittently fall back to an expired trial license state and display an Invalid License error, even when a valid license file is present and correctly configured. This behavior can occur when the Workbench service user is unable to traverse the parent directory containing the license file.
Problem
Even when the license file itself has the correct ownership (rstudio-server:rstudio-server) and restrictive permissions (600), Posit Workbench may be unable to access it if the parent directory permissions are too restrictive.
On most systems, the license file is stored under:
/var/lib/rstudio-server
If this directory does not allow execute (x) permissions for traversal, the rstudio-server service user cannot read the license file. When this happens, Workbench may fall back to an expired trial license, resulting in licensing errors.
Common symptoms include:
- Intermittent “Invalid Posit Workbench license — redirecting to license expired page” errors
- The license manager reporting both a valid license and an expired trial license at the same time
- Running the following command returning
Permission denied:
sudo -u rstudio-server cat /var/lib/rstudio-server/license-file.licSolution
To resolve this issue, update the parent directory permissions and verify the license file configuration.
- Ensure the parent directory allows traversal
On a default installation, /var/lib/rstudio-server should be owned by rstudio-server and have permissions that allow traversal:
sudo chmod 755 /var/lib/rstudio-serverThis allows the service user to access files within the directory without granting read access to other users.
- Verify license file ownership and permissions
Confirm the license file itself has the expected ownership and permissions:
sudo chown rstudio-server:rstudio-server /var/lib/rstudio-server/license-file.licsudo chmod 600 /var/lib/rstudio-server/license-file.lic- Restart Workbench services
Restart the relevant services to ensure the updated permissions are applied:
sudo systemctl restart rstudio-serversudo systemctl restart rstudio-launcher- Verify file access as the service user
Confirm that the rstudio-server user can now read the license file:
sudo -u rstudio-server cat /var/lib/rstudio-server/license-file.lic- Confirm license status
Check that only the valid license is active:
sudo rstudio-server license-manager statusIf you’re still having issues, you can reach out to Support by opening a ticket.