На одном сервере (старая OS X 10.4) я заархивировал несколько файлов с ACL. Затем я использую tar -xp, чтобы распаковать архив на новый сервер 10.6, на котором еще нет настроенных пользователей / групп, кроме администратора по умолчанию (UID 501) (для этого есть причина, не спрашивайте!). Очевидно, это означает, что "ls -lne" перечислит файлы и ACL с числовыми UID и GID.
Теперь для обычных прав доступа к файлам это имеет смысл: вы получаете UID типа «1037». И для некоторых ACL это тоже имеет смысл: вы получаете такие вещи, как «AAAABBBB-CCCC-DDDD-EEEE-FFFF00000402» для групп (0x402 = GID 1026) и «FFFFEEEE-DDDD-CCCC-BBBB-AAAA000001F5» для пользователей (0x1F5 = UID 501).
Однако у некоторых ACL есть UID, такие как «E51DA674-AE70-41BC-8340-9B06C243A262» или GID, такие как «0A3FCD24-0012-46FA-B085-88519E55EF29», и я абсолютно не знаю, как преобразовать эти идентификаторы во что-то, что могло бы быть соответствует исходным идентификаторам (в этом примере UID 1072 и GID 1047 соответственно).
Может ли кто-нибудь помочь мне перевести эти странные длинные шестнадцатеричные строки?
(В основном мы переходим от локальных пользователей к настройке Active Directory, поэтому я хочу переместить все файлы на новый сервер с неповрежденными разрешениями, затем chmod, chgrp и настроить ACL так, чтобы мы переводили старые идентификаторы в новые идентификаторы AD. Следовательно требуется какой-то способ сопоставления наборов. Я не верю, что есть более простой способ сделать это?)
Большое спасибо,
Оливер.
В документации указано, что «компьютер генерирует» эти UID, поэтому я полагаю, что нет документированного алгоритма для перевода между ними. Однако вы можете перечислить идентификаторы пользователей и сгенерированные идентификаторы uid и создать справочную таблицу для облегчения этого перевода.
Чтобы найти шестнадцатеричную строку (среди прочего) для пользователя, используйте эту команду: dscl / Search -read / Users / oliver GeneratedUID UniqueID 'dsAttrTypeNative: givenName'
Чтобы перечислить все сгенерированные UID:
dscl /Search -list /Users GeneratedUID
Чтобы перечислить все уникальные идентификаторы ("нормальные" идентификаторы)
dscl /Search -list /Users UniqueID
Надеюсь, это поможет (возможно, это уже не вы, но это появится в Google, чтобы кто-то еще мог найти это полезным).
Я.