Насколько я знаю, в NTFS нет концепции владельца группового файла, как в POSIX. (Пожалуйста, поправьте меня, если я ошибаюсь.) Пользователь может быть членом одной или (обычно) нескольких групп, и файл может иметь отдельные разрешения для каждой группы, но файл не имеет владельца группы в дополнение к своему обычному "владельцу". Тем не менее, "простой владелец" может быть, возможно, путаницей, группой.
Теперь, когда я выполняю ls -l
в cygwin 2.8.0 bash на Windows 7 для файла в NTFS (компьютер и учетная запись находятся в среде Active Directory), я вижу группу:
$ ll -n cleartool golden-dev-val.cfgspec
-rwxrwxrwx+ 1 2736485 1049089 277 9. Mai 12:34 cleartool
-rwxrwxrwx+ 1 1493656 3556770305 9159 19. Mai 16:25 golden-dev-val.cfgspec
(Длинный GID из другого домена.) Сначала я подумал, что Cygwin выводит группу из основной группы владельца. Это заставило бы группу всегда меняться вместе с пользователем. Тем не менее, эти два, кажется, независимы:
$ chown 2736485 golden-dev-val.cfgspec
$ ll -n cleartool golden-dev-val.cfgspec
-rwxrwxrwx+ 1 2736485 1049089 277 9. Mai 12:34 cleartool
-rwxrwxrwx+ 1 2736485 3556770305 9159 19. Mai 16:25 golden-dev-val.cfgspec
$ chgrp 3556770305 cleartool
$ ll -n cleartool golden-dev-val.cfgspec
-rwxrwxrwx+ 1 2736485 3556770305 277 9. Mai 12:34 cleartool
-rwxrwxrwx+ 1 2736485 3556770305 9159 19. Mai 16:25 golden-dev-val.cfgspec
Я прочитал https://cygwin.com/cygwin-ug-net/ntsec.html, в котором описано, как идентификаторы Posix UID и GID вычисляются из Windows SID; но я не вижу, как cygwin хранит групповое владение файлами (что не является функцией Windows/NTFS, поэтому для него требуется дополнение cygwin) отдельно от владения пользователем (которое является функцией Windows/NTFS, поэтому оно легко доступно) ,
Существует примечание о хранении комментариев типа <cygwin key="value" key="value" [...] />
для учетных записей локальных пользователей через net user ...
, включая ключ "group"; но это для локальных учетных записей, и это не для файла, поэтому он не может ответить на мой вопрос.
Так как же Cygwin хранит и / или получает групповое владение файлами? Это механизм Windows? Если да, есть ли инструменты Windows для управления ими?