The most common Linux question I see from developers coming from a Windows or macOS background is some variation of "why does everything say Permission denied?" The answer is always the same: Linux permissions are strict by default and unforgiving when misconfigured. The good news is that once you can read the permission string, the rest takes about five minutes to internalise.

Reading the permission string

Run ls -l on any file:

-rwxr-xr-- 1 emperor devs 4096 Apr 28 09:14 deploy.sh

Enter fullscreen mode