• Plesk Uservoice will be deprecated by October. Moving forward, all product feature requests and improvement suggestions will be managed through our new platform Plesk Productboard.
    To continue sharing your ideas and feedback, please visit features.plesk.com

Issue SSHFS files forbidden

Simon de Jong

New Pleskian
Server operating system version
AlmaLinux 9.6
Plesk version and microupdate number
18.0.71.0
I am migrating a Laravel application from Webmin / CentOS 7 to a Plesk server. I am using the Laravel Toolkit extention to manage my app. I am using SSHFS to mount a remote storage which the app uses as it's main storage (private and public). I mount the storage as follows:

Code:
sshfs USER@IP_ADDRESS:/mnt/bigstorage/app/public ~/httpdocs/public/storage -o reconnect
Code:
sshfs USER@IP_ADDRESS:/mnt/bigstorage/app ~/httpdocs/public -o reconnect

This method of mounting is the same as what we used on the old CentOS / Webmin server. It worked fine there. However, on the Plesk server I get a 403 when trying to access the public files. The file permissions are all set the same as on the old server. Both servers use Apache and the .htaccess is identical.

Does anybody know why using SSHFS seems to cause issues on the Plesk server? Thanks in advance for any help!
 
Hi scsa20,

Thanks for your help. These are the relevant logs:
2025-08-07 17:46:49ErrorIP_ADDRESS403GET /storage/avatars/company/logo_1.png?2025-04-09+16%3A29%3A10 HTTP/1.0
https://backend.test-buildingvirtuality.com/login
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
1.55 KApache SSL/TLS access
2025-08-07 17:46:49ErrorIP_ADDRESS(13)Permission denied: AH00035: access to /storage/avatars/company/logo_1.png denied (filesystem path '/var/www/vhosts/DOMAIN/httpdocs/public/storage') because search permissions are missing on a component of the path, referer: https://domain/loginApache error
 
It shows right there what the issue is. If you have SELinux enabled try disabling it and see what happens, you might also need to chmod +x the directory.
 
I have set SELinux to permissive:
Code:
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      33


Additionally, I have run `chmod +x -R` on the directory. The same error is still shown. To be sure I used the PHP `get_current_user()` method to check which user is running the PHP instance. This is the same user used to mount the remote storage using sshfs. Any idea what else might be causing the issue?

Thanks again for all your help!
 
Back
Top