Jonathan M Davis Wrote: > > I suppose, the flag on a script is checked "manually" by the shell, and on > > a binary - by the OS. > > The "OS" means next to nothing in unix land. What's the OS? The kernel? The > set > of common utilities?
Oh, looking at execve(2), I see, shebang is processed by the kernel. Wow. > file must be the owner of the file. If it is executable for that user, then > the > shell will attempt execute it. If not, they're not allowed to. Another > program > could attempt to read it and do something with it assuming that the user has > read permissions for the file, but it can't be directly executed. Well, no script can be directly executed, it's just a text after all. What execve does is not really a direct execution.
