Как MySQL работает как пользователь "_mysql" на Mac?

На Mac MySQL, похоже, сохраняет данные как пользователь "_mysql". Может кто-нибудь объяснить, пожалуйста, как это достигается. Я ожидал, что в приложении сервера MySQL (mysqld) будет установлен флаг setuid, чтобы он работал как _mysql, но это не так. Как же тогда он работает как _mysql?

1 ответ

Решение

Существует множество способов сделать это, но наиболее распространенными являются два:

  1. Процессы, запущенные с правами root, могут изменить свой идентификатор пользователя на любого другого пользователя в системе через собственное внутреннее программирование; большинство демонов, включая MySQL, работают именно так.
  2. Процессы могут быть начаты с sudo -u _mysql mysqld или это грубый эквивалент.
Другие вопросы по тегам