This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can't execute scripts from a samba share with 1.7


On Aug  6 10:50, Nahor wrote:
> 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!

I'm glad it has such a simple solution.

> 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)?

Most of Cygwin relys on the permission checks of the underlying OS.
In case of scripts, that's not possible.  Therefore it has to check
script permissions explicitely.  Note that it doesn't do a simple
POSIX permission bit check, rather it calls an OS function asking
"does *this* account have the right to execute *that* file?"  That
should result in the most consistent behaviour, as far as Windows
consistency goes.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]