Две программы setuid /usr/bin/bar
и /usr/bin/baz
один общий файл конфигурации foo
. Режим файла конфигурации - 0640
для него хранится конфиденциальная информация. Одна программа запускается как bar:bar
(то есть как пользовательская панель, групповая панель ); другой как baz:baz
. Изменение пользователей не вариант, и даже изменение групп не будет предпочтительным.
Я хочу жестко связать один файл конфигурации как /etc/bar/foo
и /etc/baz/foo
. Однако, это терпит неудачу, потому что файл, насколько я знаю, должен принадлежать root:bar
или к root:baz
.
Потенциальное решение: создайте новую группу barbaz
, членами которой являются bar
и baz
. Пусть foo
принадлежат root:barbaz
.
Это выглядит довольно сложным решением для меня. Нет ли более простого и удобного способа поделиться файлом конфигурации foo
между двумя программами?
На данный момент я поддерживаю две идентичные копии файла. Это работает, но, очевидно, неправильно. Что было бы правильно?
Для информации: у меня мало опыта работы с группами Unix и нет опыта работы с setgid (2).
ssl-cert
группа, которая в значительной степени является вашей barbaz
группой. Стандарт состоит в том, чтобы установить все закрытые ключи, которые будут принадлежать ssl-cert
группе, и поместить идентификаторы UID, связанные с программами, которым требуется доступ к ним, в эту группу.
ssl-cert
чей скрипт postinst при установке создает группу, о которой вы говорите. Я не знал о ssl-cert
. Apache2 (установлен на моем хосте) рекомендует ssl-cert
. Различные пакеты Exim и Dovecot этого не делают, но Postfix (не установлен на моем хосте) зависит от ssl-cert
. Благодаря Apache у моего хоста есть группа ssl-cert , но в этой группе еще нет участников. Спасибо за совет.