--- title: Why is my site getting a 403 error? description: A 403 Forbidden on cPanel hosting is almost always file permissions or file ownership. Here's how to check and fix both. sidebar: order: 3 --- import { Steps, Aside } from '@astrojs/starlight/components'; import Support from '~/content/partials/support-link.mdx'; A **403 Forbidden** means the web server found your file but refused to serve it. On our cPanel servers that's nearly always one of two things: permissions that are wrong, or files owned by the wrong user. We run **suEXEC**, which makes your site's code run as *your* account rather than a shared web-server user. That's a security benefit — one account can't read another's files — but it does mean the server is strict about ownership and permissions. ## The correct values | Item | Permissions | | --- | --- | | Folders | `755` | | Files | `644` | Anything **more permissive** (a folder at `777`, a file at `666`) is refused by suEXEC. This surprises people, because loosening permissions is the instinctive fix for a permissions error — here it makes things worse, and it's a genuine security risk. ## Fixing it in cPanel The File Manager handles this without needing a terminal: 1. Sign in to cPanel and open **File Manager**. 2. Navigate to the site's folder. For your primary domain that's normally `public_html`. 3. Select the folder or file, then click **Permissions** in the toolbar. 4. Set folders to `755` and files to `644`. To apply to everything beneath a folder at once, tick the **recurse into subdirectories** option and choose whether it applies to files or folders — you'll need one pass for each, since they take different values. ## When ownership is the problem Permissions are only half of it. Files also have to be owned by your account. - **Uploaded over FTP or SFTP?** Ownership is almost certainly fine — the files were created as you. - **Pulled the site down over SSH** with `git clone`, `wget`, `curl`, or unpacked an archive as another user? Ownership may be wrong, and no amount of `chmod` will fix that. The files need `chown` back to your account. If you suspect ownership, [open a ticket](https://secure.anhonesthost.com/submitticket.php) — it's a one-command fix from our side and safer than guessing. ## If permissions and ownership are both correct Other causes of a 403: - **No index file.** A folder with no `index.html` or `index.php`, on a server with directory listing disabled, returns 403. - **An `.htaccess` rule** denying access — either one you added, or one a security plugin wrote. - **A security plugin or firewall** blocking your IP after failed logins. Try from a different network or your phone on mobile data; if that works, it's an IP block. ## Related - [Get your free SSL certificate](/cpanel/free-ssl-certificate/) ## Still stuck?