Dwa programy setuid /usr/bin/bar
i /usr/bin/baz
współdzielą jeden plik konfiguracyjny foo
. Trybem pliku konfiguracyjnego jest 0640
przechowywanie poufnych informacji. Biegnie jeden program, jak bar:bar
(to jest, jak dla pręta, grupa bar ); drugi jak baz:baz
. Zmiana użytkowników nie jest opcją, a nawet zmiana grup nie byłaby lepsza.
Chcę na stałe połączyć pojedynczy plik konfiguracyjny jako /etc/bar/foo
i /etc/baz/foo
. Nie udaje się to jednak, ponieważ plik, o ile wiem, musi należeć do root:bar
lub do root:baz
.
Potencjalne rozwiązanie: Utwórz nową grupę, barbaz
której członkami są bar
i baz
. Niech foo
należy do root:barbaz
.
To dla mnie wygląda na ciężkie rozwiązanie. Czy nie ma prostszego, prostszego sposobu udostępniania pliku konfiguracyjnego foo
między dwoma programami?
Na razie utrzymuję dwie identyczne kopie pliku. To działa, ale jest oczywiście błędne. Co by było właściwe?
Dla informacji: Mam niewielkie doświadczenie z grupami Unixowymi i żadną z setgid (2).
ssl-cert
grupa, która jest właściwie twoją barbaz
grupą. Standardem jest ustawienie wszystkich kluczy prywatnych, które mają być własnością ssl-cert
grupy, i umieszczenie identyfikatorów UID powiązanych z programami, które muszą uzyskać do nich dostęp, w tej grupie.
ssl-cert
którego skrypt postinst podczas instalacji tworzy grupę, o której mówisz. Nie byłem tego świadomy ssl-cert
. Apache2 (zainstalowany na moim hoście) zaleca ssl-cert
. Różne pakiety Exim i Dovecot nie, ale Postfix (nie zainstalowany na moim hoście) zależy od ssl-cert
. Ze względu na Apache mój host ma grupę ssl-cert , ale ta grupa nie ma jeszcze członków. Dzięki za radę.