Две программы 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 , но в этой группе еще нет участников. Спасибо за совет.