Configurar una máquina de desarrollo compartida

Configurar una máquina de desarrollo compartida

Tengo una máquina servidor que contiene 10 usuarios. Sistema operativo: Ubuntu 12.04.3 LTS de 64 bits

Estos usuarios son desarrolladores (principalmente desarrolladores web: HTML+JS+PHP+MYSQL)

Les permití iniciar sesión de forma remota a través de XRDP y VNC.

Ahora todo funciona bien pero el problema en /var/www

¿Cuál es el permiso adecuado para este directorio para que no tengan problemas al compartir código entre ellos aunque no sean root? Todos ellos son usuarios simples.

Necesito saber si existe una forma segura de permitirles compartir código fuente y al mismo tiempo que cada uno tenga su propio repositorio. Doy la bienvenida a cualquier idea.

Respuesta1

Pones a todos estos usuarios en el mismo GRUPO.

usermod -g {group} {user}

De esa forma todos los usuarios tienen los mismos permisos. Generalmente usamos el grupo con el que está configurado Apache (www-data o apache).

Cualquier cambio en los permisos de un archivo o directorio del grupo lo cambiará para todos.

En general, los archivos en /var/www/ pueden tener 664 como mínimo. Y directorios 775. Nunca pongas ninguno de ellos en 777 pero puedes bajar.

Respuesta2

Otro método (debido a la recompensa :))

Puede hacerlo de esta manera si no desea mantener a todos los usuarios en la misma raíz web. Puede crear diferentes directorios como alias de webroot para el directorio /var/www/. Suponga que tiene dos usuarios u1 y u2.

Supongo que ya instalaste apace2, si no, hazlo.sudo apt-get install apache2

Haré que los directorios /home/u1/web y /home/u2/web sean la raíz web de los usuarios u1 y u2.

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

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

Cree un alias (agregue lo siguiente al archivo) para el usuario u1:

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

Cree un alias (agregue lo siguiente al archivo) para el usuario u2:

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

Ahora cada usuario puede acceder a su raíz web apuntando su navegador web a localhost/u1 para el usuario u1 y localhost/u2 para el usuario u2.

Respuesta3

Puedes hacerlo de esta manera:

  1. cree un directorio dentro de /var/www para cada usuario
  2. cambie el propietario de cada directorio al usuario asociado y el grupo a www-data group

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

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

  3. Cambie los permisos de cada directorio a 750 para que ningún usuario pueda alterar los archivos de otros usuarios, pero manteniendo la capacidad de abrir los archivos html de otros en el navegador utilizando los permisos del grupo www-data.


información relacionada