Direct answer

On Linux, check whether the startup script is executable, has a valid interpreter, and is located on a filesystem allowing execution. Fix the specific permission or path problem as the Minecraft service account; do not run Java as root or grant everyone write permissions.

What it means

Permission denied while starting ./start.sh may come from the missing executable bit, directory traverse permissions, an unreadable script, or a noexec mount. These are separate from plugin permission nodes.

If you are a player

  • Tell the owner exactly when the server fails to start. Client reinstall or OP status will not help.

If you run the server

  1. Use the panel or terminal to read the exact shell error; distinguish Permission denied from command not found, bad interpreter and Java startup errors.
  2. From the server directory, inspect the file and permissions of every parent directory. Check the script’s first line (#!) points to an installed interpreter.
  3. If you own and trust the script and the only problem is the missing execute bit, run chmod u+x start.sh. Alternatively execute it explicitly with bash start.sh if it is a Bash script.
  4. If execution still fails, inspect filesystem mount options and service user permissions. Fix the narrow issue or ask your hosting provider; don’t use chmod -R 777.
pwd
ls -l start.sh
head -n 1 start.sh
namei -l "$(pwd)/start.sh"
chmod u+x start.sh
./start.sh
Check first

Only run scripts you trust. If the script came from Windows, line-ending issues may produce a different error; fix that separately rather than changing permissions blindly.

References

Use the documentation for the exact software and release you run. These sources support the settings or diagnostic behavior used in this fix.

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000