Configurando máquina de desenvolvimento compartilhada

Configurando máquina de desenvolvimento compartilhada

Eu tenho uma máquina servidora que contém 10 usuários. SO: Ubuntu 12.04.3 LTS 64 bits

Esses usuários são desenvolvedores (principalmente desenvolvedores web: HTML+JS+PHP+MYSQL)

Eu permiti que eles fizessem login remoto por meio de XRDP e VNC.

Agora tudo funciona bem, mas o problema em/var/www

Qual é a permissão adequada para este diretório para que eles não tenham problemas ao compartilhar algum código entre eles, embora não sejam root. Todos eles são usuários simples.

Preciso saber se existe uma maneira segura de permitir que eles compartilhem o código-fonte e ao mesmo tempo cada um tenha seu próprio repositório. Aceito qualquer ideia.

Responder1

Você colocou todos esses usuários no mesmo GROUP

usermod -g {group} {user}

Dessa forma, todos os usuários terão as mesmas permissões. Geralmente usamos o grupo com o qual o Apache está configurado (www-data ou apache).

Quaisquer alterações nas permissões de um arquivo ou diretório no grupo irão alterá-lo para todos.

Em geral, os arquivos em /var/www/ podem ter 664 no mínimo. E os diretórios 775. Nunca coloque nenhum deles no 777, mas você pode diminuir.

Responder2

Outro método (devido à recompensa :))

Você pode fazer isso desta forma se não quiser manter todos os usuários no mesmo webroot. Você pode criar diretórios diferentes como aliases de webroot para o diretório /var/www/. Suponha que você tenha dois usuários u1 e u2.

Eu suponho que você já instalou o apace2, se não, faça issosudo apt-get install apache2

Farei com que os diretórios /home/u1/web e /home/u2/web sejam o webroot dos usuários u1 e u2.

sudo chmod 775 home/u1/web
sudo chmod 775 home/u2/web

sudo gedit /etc/apache2/sites-available/default

Crie um alias (adicione o seguinte ao arquivo) para o usuário u1:

Alias /u1 /home/u1/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Crie um alias (adicione o seguinte ao arquivo) para o usuário u2:

Alias /u2 /home/u2/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Agora cada usuário pode acessar sua raiz web apontando seu navegador para localhost/u1 para o usuário u1 e localhost/u2 para o usuário u2

Responder3

Você pode fazer desta maneira:

  1. crie um diretório dentro de /var/www para cada usuário
  2. altere o proprietário de cada diretório para o usuário associado e o grupo para www-data group

    sudo chown user1:www-data /var/www/user1

    sudo chown user2:www-data /var/www/user2

  3. Altere as permissões de cada diretório para 750 para que nenhum usuário possa bagunçar os arquivos de outros usuários, mas mantendo a capacidade de abrir os arquivos html de outras pessoas no navegador usando as permissões do grupo www-data.


informação relacionada