Некоторые сторонние серверы должны запускаться под специальным пользователем в целях безопасности (например, PostgreSQL обычно запускается "postgres"). Конечно, эти пользователи сервиса не должны появляться в окнах входа Mac OS X. Я знаю, как создавать скрытых пользователей, используя dscl
или dsimport
, но мне интересно, какова лучшая политика для назначения UID (и сопоставления GID). В документации Apple говорится, что UID от 0 до 100 зарезервированы (стр. 69), но OS X поставляется с несколькими специальными пользователями и группами за пределами этого диапазона. Раньше я использовал идентификаторы с 401 года для сервисов, но я заметил, что OS X 10.6 начал использовать этот диапазон для групп, созданных на панели общего доступа в Системных настройках.
Какой диапазон идентификаторов рекомендуется использовать для сторонних сервисов? Возможно, мне следует просто использовать идентификаторы в диапазоне 500, так как все, что нужно, чтобы скрыть пользователя в Snow Leopard, это установить его пароль в «*»?
Кроме того, большинство служб Apple имеют имена, начинающиеся с подчеркивания, с псевдонима без подчеркивания; например, _sandbox
и sandbox
. Есть ли какое-то особое значение для этого? Должен ли я сделать то же самое для моих услуг?
Редактировать: хотя я сказал «или dsimport
», нужно действительно использовать dscl
для создания скрытых пользователей. Смотрите этот пост для деталей!