Permissões de pasta para arquivos vhost do Apache no compartilhamento Samba

1

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?

    
por Jake Wilson 06.02.2014 / 01:03

1 resposta

0

A maneira como eu configurei isso no passado é ter todos os devs no grupo apache (o que você já fez) e então definir o grupo write no diretório vhost e no grupo sticky bit no diretório vhost (chmod g + ws). Isso deve forçar todos os arquivos a serem criados com o grupo definido como apache e permissões de leitura / gravação. Você terminará com as contas individuais que possuem os arquivos, mas, desde que o grupo tenha escrito, não importa. Isso também exige que a umask padrão de 0002 ainda esteja em vigor.

    
por 06.02.2014 / 01:23