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.

Reply via email to