Документация указывает, что "компьютер генерирует" их UID, таким образом, я предполагаю, что нет никакого зарегистрированного алгоритма для перевода между двумя. Можно, однако, перечислить идентификаторы пользователей и сгенерированный uids и создать look-up-table для упрощения этого перевода.
Для нахождения шестнадцатеричной строки (среди прочего) для пользователя используют эту команду: dscl / Поиск - читают/Users/oliver GeneratedUID UniqueID 'dsAttrTypeNative:givenName'
Перечислять все генерировало UID:
dscl /Search -list /Users GeneratedUID
Перечислять весь уникальный идентификатор ("нормальный" uids)
dscl /Search -list /Users UniqueID
Надеюсь, что они помогают (возможно, не Вы больше, но это подходит в Google, таким образом, кто-то еще мог бы все еще найти это полезным).
I.
Я думаю, что Вы могли бы быть правы на деньгах с вопросом о полномочиях (хотя у меня есть неопределенное воспоминание, что Вы получили своего рода сообщение об ошибке при запуске, если файлы не были читаемы, я не имею возможности тестировать это в данный момент). Я предполагаю, что Вы выполняете всю свою командную строку, тестирующую как корень (где это определенно успешно выполнится), и не как, независимо от того, что сам Постфикс работает как. Файлы карт должны быть читаемыми всеми Постфиксными процессами; это может быть достигнуто любым из:
u:r
g:r
root:root
и o:r
Естественно там должно подойти x
биты при продвижении путей к каталогам.
Если это не полномочия, ничто конкретное не приходит на ум; для меня, Постфиксные виртуальные карты Просто Работа.
Одна вещь, на предмет которой мне любопытно, состоит в том, почему Вы ищете bar@foo.com
когда Postfix пытается поставить к foo@bar.com
.