Em nosso ambiente de desenvolvimento de sites, temos um servidor CentOS central executando vários vhosts via Apache. Os arquivos vhost são compartilhados via SMB. Vários desenvolvedores no escritório se conectam a esse compartilhamento SMB (de clientes OSX) para criar e editar arquivos e pastas para o desenvolvimento de sites.
Este compartilhamento SMB é configurado para forçar o proprietário e o grupo de todos os arquivos editados ou criados (via SMB) a serem apache
. Portanto, todos os arquivos em todos os diretórios vhost são de propriedade de apache:apache
para garantir que o Apache tenha as permissões apropriadas para acessá-los.
Às vezes, no entanto, certas ações exigem sudo para realizar as coisas. Por exemplo, se um usuário precisar de SSH no servidor para mover ou copiar arquivos (muito mais rápido via SSH em vez de SMB), ou talvez fazer git
commits dos arquivos, etc. Você não pode usar o sudo como apache por essas ações, porque você não é tecnicamente capaz de fazer o login como apache.
Como resultado, a maioria dos desenvolvedores fará seus commits / pushes / pulls usando sudo e executando chown apache:apache . -R
em todo o diretório vhost.
Isso não parece ser o jeito certo de fazer isso. Eu estou tentando descobrir o melhor curso de ação para avançar. Todos os usuários também estão no grupo apache, mas se eles criarem novos arquivos via SSH (talvez git pull
adicionaram novos arquivos), esses arquivos agora pertencem a esse usuário em vez de ao apache, novamente fazendo com que eles chown
everything novamente.
Existe um fluxo de trabalho melhor para esse tipo de configuração?