SSH, Security & Permissions

An executable is stored on a noexec mount

Executable permission bits do not override a noexec mount. Inspect the mount governing the actual path before changing file permissions.

On this page
  1. Symptoms & scope
  2. Possible causes
  3. Diagnose safely
  4. Evidence-guided next steps
  5. References & review
  6. Related problems

Symptoms & scope

  • Direct execution fails although the executable bit is present.
  • A copy on an approved executable filesystem behaves differently.

Relevant environment

Linux with util-linux findmnt; applies to direct execution on ordinary filesystems and bind mounts.

Possible causes

These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.

  • The most specific mount may carry noexec independently of the parent mount.
  • Missing execute bits, path traversal restrictions or MAC policy may produce similar symptoms.

Diagnose safely

Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.

Check 1

Replace the program path; selects the filesystem governing that path, including a more specific bind mount.

findmnt -T /path/to/program -o TARGET,SOURCE,FSTYPE,OPTIONS

Interpret the result: A noexec option supports this hypothesis; its absence means file rights, loader/interpreter and security policy need separate checks.

Check 2

Reads modes and ownership of the exact file without executing it.

stat -c "%A %a %U:%G %n" /path/to/program

Interpret the result: Execute bits are necessary for direct execution but do not establish that mount options or security policies permit it.

Evidence-guided next steps

Place the program on an approved executable filesystem

If noexec is intentional, install or copy the verified program through its supported deployment route to an approved executable location and update only its launcher path. Preserve application data and inspect symlinks so the new path does not still resolve to the old mount.

Precautions: Do not bypass an intentional security boundary by invoking an interpreter merely to avoid the restriction.

Recovery / rollback: Restore the original launcher path and remove the added deployment through its supported uninstall route.

Did this solution help you?

Share this solution#

Correct an unintended mount policy with its owner

If the mount owner confirms noexec was accidental, save the full existing mount configuration and change only that mount’s exec policy through the distribution’s normal configuration. Preserve nodev, nosuid and unrelated options, then verify findmnt at the actual program path.

Precautions: Avoid broad remounts of /tmp or shared untrusted storage. Some filesystems and mount namespaces require a different administrative path.

Recovery / rollback: Restore the saved mount configuration and its noexec setting through the same mount-management route.

Did this solution help you?

Share this solution#

References & review

This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.