Compartir una carpeta a usuarios en linux con apache

Actualizado el viernes, 20 octubre, 2017

Siendo el administrador de un servidor linux, es posible que necesites compartir un directorio o carpeta de trabajo a la cual debas otorgarle permisos de lectura / escritura a todos los usuarios de un servidor Linux, ya sea en local o en remoto. Vemos como habilitar el acceso a escritura a todos los usuarios en un directorio previamente definido (directorio compartido).

Estableceremos los permisos de acceso requeridos y el método más efectivo y confiable para asignar un grupo común a todos los usuarios que compartirán o tendrán acceso total a la carpeta/directorio.

 

Instalamos Apache:

 

Centos, Rhel, Fedora y derivados.

sudo yum install httpd

Centos 6.x:
chkconfig httpd on
service httpd start

Centos 7.x:
systemctl enable httpd.service
systemctl start httpd.service

 

Debian, Ubuntu y derivados.

apt-get install apache2 -y

 

Compartimos:

 

Creamos la carpeta de trabajo a compartir.

sudo mkdir -p /var/www/trabajo/

 

Creamos un grupo de usuarios para trabajo.

sudo groupadd migrupo

 

Agregamos usuarios existentes al grupo de trabajo de la carpeta a compartir.

sudo usermod -a -G migrupo sergio

Los indicadores y argumentos utilizados en el comando anterior son:
  • -a – que agrega el usuario al grupo.
  • -G – especifica el nombre del grupo.
  • migrupo – nombre del grupo.
  • sergio – nombre de usuario «sergio».

 

Concedemos permisos a la carpeta / directorio y asignamos el grupo de usuarios.

sudo chgrp -R migrupo /var/www/trabajo/

sudo chmod -R 2775 /var/www/trabajo/

Explicamos los permisos 2775 del comando chmod:
  • 2 : activa el bit setGID , osea las subfiles recién creadas heredaran el mismo grupo que el directorio y los subdirectorios del directorio padre.
  • 7 – Concede permisos rwx al propietario.
  • 7 – Concede permisos rwx al grupo.
  • 5 – Concede permisos rx a otros usuarios.

 

Podemos agregar más usuarios, incluso en subdirectorios pertenecientes a la carpeta trabajo.

Creamos los usuarios.

sudo useradd -m -c "Sergio" -s/bin/bash -G migrupo sergio
sudo useradd -m -c "Antonio" -s/bin/bash -G migrupo antonio
sudo useradd -m -c "Jose" -s/bin/bash -G migrupo jose

Creamos los subdirectorios.
sudo mkdir -p /var/www/trabajo/sergio_trabajo
sudo mkdir -p /var/www/trabajo/antonio_trabajo
sudo mkdir -p /var/www/trabajo/jose_trabajo

 

Ya podemos empezar a compartir.

 

Agregar comentario