Обновление и фиксация изменений прав доступа к файлам в etckeeper

Скажем, мне пришлось изменить разрешения какого-либо файла в файле /etc/ssl чтобы программа могла читать файл закрытого ключа:

 $ cd /etc $ chgrp ssl-cert ssl/private/key.pem $ chmod g+r ssl/private/key.pem $ git status On branch master nothing to commit, working directory clean 

Как сообщить etckeeper, что некоторые права доступа к файлам были изменены для их фиксации? Я знаю, что разрешения хранятся в /etc/.etckeeper , но не могут найти способ обновить этот файл.

git сама не предоставляет информацию о правах собственности и привилегиях, помимо исполняемой битовой информации. Решением для вас является использование данных etckeeper . Изучая документацию, мы имеем:

Большинство VCS, включая git, mercurial и bazaar, имеют ограниченное отслеживание метаданных файлов, возможность отслеживать исполняемый бит, но не другие разрешения или информацию о владельце. (darcs даже не отслеживает исполняемые биты.) Таким образом, метаданные файлов хранятся отдельно. Среди других задач, etckeeper init устанавливает крюк pre-commit, который хранит метаданные о владельцах файлов и разрешениях в файле /etc/.etckeeper. Эти метаданные хранятся в управлении версиями вместе со всем остальным и могут применяться, если репо должно быть проверено обратно.

Таким образом, право собственности на ваши каталоги хранится в /etc/.etckeeper , который также контролируется git . 😉

  • etckeeper commit решения etckeeper commit должно решить вашу проблему.

В зависимости от вашего масштаба я бы подумал о более сложных и полезных инструментах управления конфигурацией, таких как Salt, Ansible, Puppet, Chef и т. Д.