public inbox for cygwin-developers@cygwin.com
 help / color / mirror / Atom feed
From: Roland Mainz <roland.mainz@nrubsig.org>
To: cygwin-developers@cygwin.com
Cc: Roland Mainz <roland.mainz@rovema.de>,
	Corinna Vinschen <corinna-cygwin@cygwin.com>,
	 ms-nfs41-client-devel@lists.sourceforge.net
Subject: Cygwin 3.5 mapping uid/gid on NFSv4 filesystem to unexpected IDs ...
Date: Tue, 31 Oct 2023 17:20:45 +0100	[thread overview]
Message-ID: <CAKAoaQkfm9nOiwV2n5kx0PdEa4gt8hk-PnSoB4_m+aQ71ix=Rw@mail.gmail.com> (raw)

Hi!

----

We've modified the NFSv4 drive for WIndows to support the Nfs3Attr API
uid/gid fields for Cygwin&SFU compatibility, and SID support (local
users mapped to their SIDs, and NFS users/groups without local
accounts are mapped to "S-1-22-1-*" (Unix_User+) and "S-1-22-2-*"
(Unix_Group+)) .

But on Cygwin 3.4.9 and Cygwin 3.5.0 something unexpected happens -
Cygwin /usr/bin/ls shows the wrong uid/uids:
For example the kernel driver fills in uid=197608/gid=197121 (matching
what $ getent passwd/group # says), but ls(1) prints
uid=4278387688/gid=4278387201
It seems Cygwin is mapping ALL NFS3Attr uid/gid values to the
Unix_User+/Unix_Group+ range. On Solaris&Linux the NFS uid/gid values
are correct, and the Windows NFSv4 driver uses the same numeric
values.

Example:
---- snip ----
$ uname -a
CYGWIN_NT-10.0-19045 wingrendel02 3.5.0-0.448.gd56d58ace27b.x86_64
2023-10-30 11:42 UTC x86_64 Cygwin

$ cmd /c 'dir /q'
 Datenträger in Laufwerk T: ist PnfsVolume
 Volumeseriennummer: DEAD-BEEF

 Verzeichnis von T:\test1

31.10.2023  11:53    <DIR>          WINGRENDEL02\roland_mai.
27.10.2023  16:36    <DIR>          ...                    ..
31.10.2023  11:54    <DIR>          WINGRENDEL02\roland_maiksh
30.10.2023  13:05         1.411.059 WINGRENDEL02\roland_maixxx
30.10.2023  12:46    <DIR>          WINGRENDEL02\roland_maijunctiontest1
31.10.2023  05:16    <DIR>          WINGRENDEL02\roland_maibash
               1 Datei(en),      1.415.039 Bytes
               5 Verzeichnis(se),  1.686.773.760 Bytes frei

$ id -a
uid=197608(roland_mainz) gid=197121(Kein)
groups=197121(Kein),545(Benutzer),559(Leistungsprotokollbenutzer),4(INTERAKTIV),66049(KONSOLENANMELDUNG),11(Authentifizierte
Benutzer),15(Diese Organisation),113(Lokales
Konto),4095(CurrentSession),66048(LOKAL),262154(NTLM-Authentifizierung),401408(Mittlere
Verbindlichkeitsstufe)

$ ls -la
total 1386
drwxr-xr-x  5 Unix_User+197608 Unix_Group+197121     120 Oct 31 11:53 .
drwxrwxrwt  3 Unix_User+0      Unix_Group+0           60 Oct 27 17:36 ..
drwxr-xr-x 14 Unix_User+197608 Unix_Group+197121    3660 Oct 31 05:16 bash
drwxr-xr-x  2 Unix_User+197608 Unix_Group+197121      60 Oct 30 12:46
junctiontest1
drwxr-xr-x  3 Unix_User+197608 Unix_Group+197121      80 Oct 31 11:54 ksh
-rwxr-xr-x  1 Unix_User+197608 Unix_Group+197121 1411059 Oct 30 13:05 xxx

$ ls -lan
total 1386
drwxr-xr-x  5 4278387688 4278387201     120 Oct 31 11:53 .
drwxrwxrwt  3 4278190080 4278190080      60 Oct 27 17:36 ..
drwxr-xr-x 14 4278387688 4278387201    3660 Oct 31 05:16 bash
drwxr-xr-x  2 4278387688 4278387201      60 Oct 30 12:46 junctiontest1
drwxr-xr-x  3 4278387688 4278387201      80 Oct 31 11:54 ksh
-rwxr-xr-x  1 4278387688 4278387201 1411059 Oct 30 13:05 xxx
---- snip ----

Is the Cygwin behaviour (i.e. mapping of NFS3Attr uid/gid to different
uid/gid in Cygwin $ ls -n #) intended ?

----

Bye,
Roland
-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz@nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)

             reply	other threads:[~2023-10-31 16:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-31 16:20 Roland Mainz [this message]
2023-11-10 12:22 ` Roland Mainz
2023-11-13 19:39   ` Corinna Vinschen
2023-11-13 20:41     ` Roland Mainz
2023-11-15 12:57       ` Corinna Vinschen
2023-11-15 14:40         ` Corinna Vinschen
2023-11-13 22:52     ` Cedric Blancher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKAoaQkfm9nOiwV2n5kx0PdEa4gt8hk-PnSoB4_m+aQ71ix=Rw@mail.gmail.com' \
    --to=roland.mainz@nrubsig.org \
    --cc=corinna-cygwin@cygwin.com \
    --cc=cygwin-developers@cygwin.com \
    --cc=ms-nfs41-client-devel@lists.sourceforge.net \
    --cc=roland.mainz@rovema.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).