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: Shared home dir, samba, and workgroups


Marco Atzeri wrote:
--- Mar 9/3/10, Wes Barris ha scritto:

Marco Atzeri wrote:
--- Mar 9/3/10, Wes Barris ha scritto:

Wes Barris wrote:
I use Cygwin 1.7 on my XP desktop system at
work. I like having the
same home directory on this Windows XP system
as I do
on our Unix
server. The Windows XP system is a
member of a
domain. The Unix
server is not. The Unix server is
running Samba
and is configured
with a workgroup name. My home directory
on the
Unix server is
mounted as a mapped network drive on the
Windows XP
system.
Everything in the above setup is working
properly from the Unix server side and from
the
Windows side when
working with Windows Explorer. I can
create and
delete files via
Windows Explorer and they show up on the Unix
side
with proper
ownership and permissions (as controlled by
Samba). Conversely,
I can create and delete files under Unix and
access
these files
from Windows Explorer.

The problem is when I look at my mapped
network home
directory
with Cygwin, my home directory files are owned
by
nobody ('????????')
and have a group of nobody. I am
guessing that
this is because my
Windows SID in /etc/passwd is the SID of my
domain
user and since
the Samba server is not part of this domain
the files
look like they
are from an unknown user.

In our Samba server there is a file (usermap)
that
maps unix usernames
to windows usernames. This appears to be
working
when working with
Windows Explorer. Why doesn't this work
with
Cygwin? What is the
way to fix this? Do I somehow need to
map my
unix username to a
windows SID? Do I need to turn off
ntsec?
you need to map the WINDOWS SID to the UNIX username

so you need to add on /etc/passwd and etc/group
the right references.

see:
http://cygwin.com/cygwin-ug-net/using-utils.html#mkpasswd
http://cygwin.com/cygwin-ug-net/ntsec.html
I've read both of those pages many times.  They don't
appear
to apply to my situation.  What mkpasswd option(s)
would you
suggest?  --local doesn't help map the Windows SID to
the UNIX
username, --domain doesn't do it.

Web, if mkpasswd can not help you to identify the SID, than you can try Setacl http://setacl.sourceforge.net/

using as:
$ SetACL.exe -on $(cygpath -aw YOUR_FILE) -ot file -actn list -lst "f:sddl;w:o,g,s,d"

will provide the full list of SID and ACL of the file or directory. The answer is a bit cryptic but it is very detailed.

After that you can create,by hand, the right reference in
your /etc/passwd and /etc/group

Thanks Marco. I was a bit skeptical having already worked so hard on resolving this. Using setacl.exe I was able to determine both the owner and group SIDs:

W:\>SetACL.exe -on wesbarris.pdf -ot file -actn list -lst "f:tab;w:o"
wesbarris.pdf

Owner: S-1-5-21-290311034-2557831423-1240041065-5424

   DACL(protected):
   S-1-5-21-290311034-2557831423-1240041065-5424   full   allow   no_inheritance

   S-1-22-2-200   read   allow   no_inheritance
   Everyone   read   allow   no_inheritance

Using this information I modified my /etc/passwd and /etc/group files.
The passwd file now contains a line for my domain user and a line
for the owner of the files from my home directory server.  It's a
bit confusing (having a different user owning my home directory
files) but everything appears to be working properly now.

Thank you very much!

Do I need to change
the mount options for /cygdrive?
Should I assume from the lack of any response that
there is
no fix
for this?

-- Wes Barris
I should say no
Marco
-- Wes Barris

Marco







--
Wes Barris

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