Due programmi setuid /usr/bin/bar
e /usr/bin/baz
, condividono un singolo file di configurazione foo
. La modalità del file di configurazione è 0640
, poiché contiene informazioni riservate. L'unico programma viene eseguito come bar:bar
(ovvero, come barra utente , barra di gruppo ); l'altro come baz:baz
. Cambiare utenti non è un'opzione e persino cambiare gruppi non sarebbe preferibile.
Desidero collegare a fondo il singolo file di configurazione come /etc/bar/foo
e /etc/baz/foo
. Tuttavia, questo non riesce perché il file deve, per quanto ne so, appartenere root:bar
o a root:baz
.
Soluzione potenziale: creare un nuovo gruppo i barbaz
cui membri sono bar
e baz
. Facciamo foo
parte di root:barbaz
.
Mi sembra una soluzione piuttosto pesante. Non esiste un modo più semplice e semplice per condividere il file di configurazione foo
tra i due programmi?
Per ora, sto mantenendo due copie identiche del file. Funziona, ma ovviamente è sbagliato. Quale sarebbe giusto?
Per informazioni: ho poca esperienza con i gruppi Unix e nessuno con setgid (2).
ssl-cert
gruppo, che è praticamente il tuo barbaz
gruppo. Lo standard consiste nell'impostare tutte le chiavi private di proprietà del ssl-cert
gruppo e inserire gli UID associati ai programmi che devono accedervi in quel gruppo.
ssl-cert
cui script postinst, al momento dell'installazione, crea il gruppo di cui parli. Non ne ero a conoscenza ssl-cert
. Apache2 (installato sul mio host) consiglia ssl-cert
. I vari pacchetti Exim e Dovecot non lo fanno, ma Postfix (non installato sul mio host) dipende su ssl-cert
. A causa di Apache, il mio host ha un gruppo ssl-cert , ma questo gruppo non ha ancora membri. Grazie per il consiglio.