Dois programas setuid /usr/bin/bare /usr/bin/bazcompartilham 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/fooe /etc/baz/foo. No entanto, isso falha porque o arquivo deve, tanto quanto eu saiba, pertencer a root:barou a root:baz.
Solução potencial: crie um novo grupo barbazcujos membros sejam bare baz. Deixe foopertencer 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 fooentre 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-certgrupo é o grupo, que é praticamente o seu barbazgrupo. O padrão é definir todas as chaves privadas que pertencem ao ssl-certgrupo e colocar os UIDs associados aos programas que precisam acessá-los nesse grupo.
ssl-certcujo 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.