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:
- crie um diretório dentro de /var/www para cada usuário
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
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.