Can't execute scripts from a samba share with 1.7

Nahor nahor.j+gmane@gmail.com
Thu Aug 6 17:50:00 GMT 2009


Corinna Vinschen wrote:
> On Aug  5 13:40, Nahor wrote:
>   
>> Hi,
>>
>> I have a samba share mounted in cygwin with the following fstab entry:
>> //server/nahor /home/nahor smbfs binary,user,exec,acl,posix=0,cygexec 0 0
>>
>> Permissions are set correctly:
>> $ ls -al
>> -rwxr--r-- 1 nahor Domain Users      19 Aug  5 11:46 t.sh
>>
>> My test script doesn't do much:
>> $ cat ./t.sh
>> #!/bin/sh
>> echo foo
>> $
>>
>> But when I execute:
>> $ ./t.sh
>> -bash: ./t.sh: Permission denied
>> $
>>     
> Cygwin 1.5.x and earlier versions of Cygwin 1.7.0 didn't check execute
> permissions when trying to start a shell script.  Later versions of
> 1.7.0 do check on filesystems mounted with the "acl" option.  Apparently
> the check fails.  Is there a chance that there are two different
> accounts called nahor?
>   

Indeed. One is an account on the local machine and there is another one 
on the domain. I login using the local account but the samba share 
belong to the domain user.
Running cygwin with the domain user allows running the script. Changing 
the permission to 755 also fixes the error.
Thanks!


One weird thing though, the directory permission are 700 and yet I can 
list the content of the directory, cd in it and add/delete files. So 
permissions are not consistently checked. But then, I assume it's 
because all that is done by Windows/Samba while the permission check on 
the script is done by Cygwin? Same thing with executing binary (I was 
able to execute a binary file copied on the share even though I couldn't 
execute scripts)?


>> If I mount with "noacl", I get a slightly different error but still no  
>> cigar:
>> $ ./t.sh
>> -bash: ./t.sh: /bin/sh: bad interpreter: Permission denied
>> $
>>     
> This only happens if your account doesn't have execute permissions for
> the interpreter, in this case /bin/sh.  Is it possible that /bin/sh.exe
> has weird permission settings for some reason?
>   

The permissions on the interpreter are OK.
$ ls -l /bin/sh
-rwxr-xr-x 1 nahor Administrators 472064 Jul  1 18:20 /bin/sh
$

For that matter, scripts running off the local disk run fine.

Looks like the same problem of inconsistent account ID, setting the 
permissions to 755 or running as the domain user fix the "bad 
interpreter" error.



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list