Я исправил проблему с разрешениями для nagios, как описано Вот.
Команда была:
sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
Хорошо, очевидно, что это какое-то изменение разрешений. Но где это происходит? Где хранится? Это просто модификация chmod?
dpkg-statoverride
- это инструмент управления базой данных, поддерживаемой dpkg, которая содержит настройки владельца и режима для заданных путей к файлам.
Вызванный, как в вашем вопросе, он будет делать две вещи: немедленно устанавливать владение / режим для данных файлов, если они существуют (--update
) и сохраните новую запись в файле переопределения (--add
). Последнее гарантирует, что в дальнейшем dpkg
операции, которые создают или изменяют перечисленные файлы, будут использовать значения переопределения, а не те, которые определены в пакете.
Эти переопределения являются постоянными. Обычно они лучше обычных chmod/chown
поскольку это избавляет вас от необходимости не забывать сбрасывать разрешения вручную при обновлении или переустановке пакета.
Существующие переопределения можно просмотреть, запустив dpkg-statoverride --list
.
Вы мог просто сделай это вручную. Это просто смена разрешений. Причина использования dpkg-statoverride заключается в том, что он запоминает его при обновлениях и т.п.
Это инструмент, указывающий dpkg использовать эти разрешения. Фактически, вы также можете установить его перед установкой пакета.
Флаг --update используется при изменении разрешений с помощью dpkg-statoverride для уже существующих файлов.