CIFS symlinks on network share break Cygwin

Dave Korn dave.korn@artimi.com
Tue Feb 5 21:31:00 GMT 2008


On 05 February 2008 14:27, Corinna Vinschen wrote:
> On Feb 5 13:48, Dave Korn wrote:
>> On 05 February 2008 13:35, Corinna Vinschen wrote:
>>>>> What exactly happens with the perms? Are you using CYGWIN=smbntsec?
>> you didn't answer my first question. What exactly happens with the perms?
> To what values are they set when creating a file?

 Oops, pardon. I thought I had posted this yesterday but now I see it's just
lying around my drafts folder. My win32 "T:" drive is a netapp share (CIFS
with NFS perms) and /win/t is a mountpoint to it (system, binmode, noexec)
that I use as shorthand for /cygdrive notation.
/win/t/netapp $ ls -la
total 0
drwxr-xr-x 1 dk Domain Users 0 Feb 4 15:23 .
drwxr-xr-x 1 dk Domain Users 0 Jan 1 1970 ..
/win/t/netapp $ echo $CYGWIN
ntsec smbntsec notty error_start=C:\cygwin\usr\local\bin\insight.exe
/win/t/netapp $ touch foo.bar
/win/t/netapp $ ls -la
total 0
drwxr-xr-x 1 dk Domain Users 0 Feb 4 15:23 .
drwxr-xr-x 1 dk Domain Users 0 Jan 1 1970 ..
-rw-r--r-- 1 dk Domain Users 0 Feb 4 15:23 foo.bar
/win/t/netapp $ chmod a+rwx foo.bar
/win/t/netapp $ ls -la
total 0
drwxr-xr-x 1 dk Domain Users 0 Feb 4 15:23 .
drwxr-xr-x 1 dk Domain Users 0 Jan 1 1970 ..
-rw-r--r-- 1 dk Domain Users 0 Feb 4 15:23 foo.bar
/win/t/netapp $
 So, can't chmod easily. Umask appears at first glance to be respected when
creating files:
/win/t $ umask 0
/win/t $ touch baz.bar
/win/t $
/win/t $ ls -la baz.bar
-rw-r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
/win/t $ umask 777
/win/t $ touch baz.bot
/win/t $ ls -la baz.bot
---------- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
/win/t $ 
 I have no idea what happened next. Looked as if the umask was contagious:
/win/t $ chmod a+rwx baz.bot
/win/t $ ls -la baz.*
---------- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
---------- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
---------- 1 dk Domain Users 111 Aug 17 2006 baz.txt
 Ah, phew:
/win/t $ umask 000
/win/t $ ls -la baz.*
-rw-r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
-rw-r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
-rw-r--r-- 1 dk Domain Users 111 Aug 17 2006 baz.txt
...that got it back. How bizarre: a live umask with retroactive effect.
/win/t $ umask 000
/win/t $ ls -la baz.*
-rw-r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
-rw-r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
-rw-r--r-- 1 dk Domain Users 111 Aug 17 2006 baz.txt
/win/t $ umask 077
/win/t $ ls -la baz.*
-rw------- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
-rw------- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
-rw------- 1 dk Domain Users 111 Aug 17 2006 baz.txt
/win/t $ umask 770
/win/t $ ls -la baz.*
-------r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
-------r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
-------r-- 1 dk Domain Users 111 Aug 17 2006 baz.txt
/win/t $ umask 731
/win/t $ ls -la baz.*
----r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
----r--r-- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
----r--r-- 1 dk Domain Users 111 Aug 17 2006 baz.txt
/win/t $ umask 137
/win/t $ ls -la baz.*
-rw-r----- 1 dk Domain Users 0 Feb 5 15:18 baz.bar
-rw-r----- 1 dk Domain Users 0 Feb 5 15:18 baz.bot
-rw-r----- 1 dk Domain Users 111 Aug 17 2006 baz.txt
/win/t $
 </boggle> That's just completely Tom Cruise, that is.
>> (... which makes me wonder, could we possibly leverage that to do some
>> useful work for us in these situations...?)
>> Shure, if the DLL has a usefull documented API 

 Heh, I believe it's IShellExtension or some such similar[*]...
> and a programmer is
> caring (or paid) enough to actually do it.

 I'd do it just so that I don't have to go to explorer all the time.
 cheers,
 DaveK
[*] - not even nearly, actually, but anyway it's /one/ of those explorer shell
extension IXxxxXxxxxx interfaces.
-- 
Can't think of a witty .sigline today....
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /