Cygwin 3.5 mapping uid/gid on NFSv4 filesystem to unexpected IDs ...
Roland Mainz
roland.mainz@nrubsig.org
Tue Oct 31 16:20:45 GMT 2023
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;)
More information about the Cygwin-developers
mailing list