X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_64,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Nahor Subject: Re: Can't execute scripts from a samba share with 1.7 Date: Thu, 06 Aug 2009 10:50:01 -0700 Lines: 69 Message-ID: References: <20090806142010 DOT GE3204 AT calimero DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) In-Reply-To: <20090806142010.GE3204@calimero.vinschen.de> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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