Вы можете сделать команду установки переменной, которую можно переопределить в командной строке make
, например,
INSTALL_USER = mysql
INSTALL_GROUP = mysql
INSTALL = install -d -m 0755 -o $(INSTALL_USER) -g $(INSTALL_GROUP)
INSTALL_DIR = $(INSTALL) -d
Я бы ожидал, что системы упаковки в любом случае смогут справиться с вашим make-файлом, потому что это такие вещи, которые написали другие люди. Сборка пакетов Debian запускается от имени пользователя root (или, скорее, обычно претендует на запуск от имени пользователя root через fakeroot ), поэтому он разрешит и увидит изменения владельца.
Обратите внимание, что Политика Debian будет не разрешать права доступа, которые вы устанавливаете , так как требует, чтобы все файлы принадлежали пользователю root, если нет веских причин не делать этого. Я не вижу причины для того, чтобы какой-либо из файлов принадлежал mysql
(или я пропустил какую-то специфическую для mysql причину, по которой плагины и файлы конфигурации не могут принадлежать пользователю root?). Причина заключается в проблеме безопасности: если кому-то удастся перезаписать файлы как mysql
, им не удастся внедрить код в исполняемые файлы и файлы конфигурации.
Так как сопровождающие могут захотеть переопределить установленные вами разрешения, не мучайтесь из-за этого.