Dois programas setuid /usr/bin/bar
e /usr/bin/baz
compartilham um único arquivo de configuração foo
. O modo do arquivo de configuração é 0640
, pois contém informações confidenciais. O único programa é executado como bar:bar
(ou seja, como barra de usuário , barra de grupo ); o outro como baz:baz
. Alterar usuários não é uma opção, e mesmo alterar grupos não seria preferível.
Desejo vincular o arquivo de configuração único como /etc/bar/foo
e /etc/baz/foo
. No entanto, isso falha porque o arquivo deve, tanto quanto eu saiba, pertencer a root:bar
ou a root:baz
.
Solução potencial: crie um novo grupo barbaz
cujos membros sejam bar
e baz
. Deixe foo
pertencer a root:barbaz
.
Isso me parece uma solução bastante pesada. Não existe uma maneira mais simples e simples de compartilhar o arquivo de configuração foo
entre os dois programas?
Por enquanto, estou mantendo duas cópias idênticas do arquivo. Isso funciona, mas está obviamente errado. O que seria certo?
Para informações: Tenho pouca experiência com grupos Unix e nenhuma com setgid (2).
ssl-cert
grupo é o grupo, que é praticamente o seu barbaz
grupo. O padrão é definir todas as chaves privadas que pertencem ao ssl-cert
grupo e colocar os UIDs associados aos programas que precisam acessá-los nesse grupo.
ssl-cert
cujo script postinst, na instalação, cria o grupo do qual você fala. Eu não sabia ssl-cert
. O Apache2 (instalado no meu host) recomenda ssl-cert
. Os vários pacotes Exim e Dovecot não, mas Postfix (não instalado no meu host) depende em ssl-cert
. Devido ao Apache, meu host tem um grupo ssl-cert , mas esse grupo ainda não tem membros. Obrigado pelo conselho.