Проблема с правами на файл `messages.log`, который создается с правами владельца `root`, может быть связана с несколькими факторами. Основные моменты, на которые стоит обратить внимание:
1. **Права на директорию**: Убедитесь, что директория `/var/log/asterisk` действительно принадлежит пользователю `asterisk` и у него есть права на запись. Проверить это можно с помощью команды:
```bash
ls -ld /var/log/asterisk
```
2. **Учетная запись пользователя**: Убедитесь, что процесс, который создает эти файлы, действительно работает от имени пользователя `asterisk`. Если процесс запускается от другого пользователя (например, `root`), файл будет создан с правами этого пользователя.
3. **Конфигурация системы**: Если вы используете систему, такую как `systemd`, проверьте конфигурационный файл сервиса, который управляет `asterisk`. Возможно, в `systemd` определены специфические параметры, такие как `User` или `Group`, которые могут влиять на то, от какого пользователя запускается служба.
4. **SELinux или AppArmor**: Если у вас включен SELinux или AppArmor, они могут блокировать запись в определенные директории или файлы для процесса. Проверьте журналы сообщений безопасности для получения информации о блокировках.
5. **Ошибки в конфигурации Asterisk**: Убедитесь, что в конфигурационных файлах Asterisk (например, в `asterisk.conf` или `logger.conf`) указаны правильные пути и параметры для логирования.
6. **Перезапуск служб**: После изменения конфигурации убедитесь, что вы перезапустили службу Asterisk, чтобы изменения вступили в силу.
7. **Ошибки в журналах**: Проверьте файлы журналов Asterisk или системные журналы (например, `journalctl` или `/var/log/syslog`) на наличие ошибок, связанных с попытками записи логов.
Если вы учтете эти аспекты и проведете дополнительные проверки, это должно помочь в решении проблемы с правами доступа к лог-файлам.