Compartir una carpeta entre los usuarios de un mismo grupo es algo que en ocasiones es esencial. Necesitas utilizar el comando chmod para agregar un usuario al grupo apropiado. Vamos a ver cómo hacerlo con un ejemplo.
Imaginemos que queremos compartir un directorio al que llamaremos «compartido» entre varios usuarios para, por ejemplo, gestionar un proyecto. Estos serían los datos:
- Directorio compartido: /home/compartido.
- Usuarios que compartirán el directorio: user1, user2… usern.
- Administrador del proyecto: useradmin.
Vamos a ver el ejemplo paso a paso.
Cómo crear paso a paso un directorio compartido
Con estos datos, vamos a ver los pasos para crear el directorio compartido:
1. Crear un directorio compartido en «/home/compartido». Si el directorio no existe, lo creamos con el comando mkdir:
# mkdir /home/compartido
2. Vamos a crear el grupo que compartirá el directorio. Al grupo vamos a llamarle «migrupo» , así a secas. Utilizaremos el comando groupadd:
# groupadd migrupo
3. Vamos a agregar al administrador del grupo y también a definir una contraseña:
# useradd -d /home/compartido/ -g migrupo -m useradmin # passwd useradmin
4. Ahora es el momento de añadir el resto de usuarios al grupo «migrupo». Debemos añadirlos uno por uno:
# useradd -d /home/compartido/ -g migrupo user1 # passwd user1
Ahora agregamos el segundo usuario:
# useradd -d /home/compartido/ -g migrupo user2 # passwd user2
Y así sucesivamente, hasta haber agregado a todos.
5. Vamos a configurar los permisos para el directorio «/home/compartido». Debemos definir que el directorio pertenece al grupo y, luego, debemos configurar los permisos para el grupo y para el dueño. También configuraremos el directorio para que cualquier archivo creado dentro de él pertenezca al grupo. Vamos a ello:
5.1. Configuramos el dueño del directorio, asignándolo al grupo «migrupo»:
# chown -R useradmin.migrupo /home/compartido/
5.2. Configuramos los permisos completos para el grupo y para el dueño en el directorio:
# chmod -R 775 /home/compartido/
5.3. Configuramos el SGID. ¿Qué es bit SGID? Habitualmente, cada vez que crea un archivo en un directorio, éste pertenecerá al grupo predeterminado de usuarios. Si cuando configuramos el SGID en un directorio y creamos un archivo dentro del mismo, éste pertenecerá al mismo grupo al que pertenece el directorio que lo contiene. El resultado es que todos los usuarios del grupo «migrupo» van a poder crear o modificar archivos en el directorio «/home/compartido». Para ello, hacemos lo siguiente:
# chmod -R 2775 /home/compartido/
Aunque también podemos utilizar el comando chmod del siguiente modo:
# chmod -R g + s /home/compartido/
Ya tenemos configurado nuestro directorio compartido en Linux.
Problemas habituales y cómo solucionarlos
A modo de consideración adicional, si utilizáis WordPress o cualquier otra aplicación que descargue archivos automáticamente, es importante remarcar lo siguiente. Cuando sea la aplicación la que cree los archivos, puede que establezca los permisos de forma errónea. En este caso, casi sería mejor utilizar una cuenta FTP compartida.
También es importante tener en cuenta que cuando se crea un nuevo archivo, se habrá configurado el dueño por defecto a través del SGID, que será «migrupo». Se trata exclusivamente del dueño, ya que los permisos que configuremos con el comando umask siempre tendrán prioridad. La máscara por defecto es la 022, pero deberíamos configurar umask con 002 para los nuevos archivos que vayamos a crear, para así dar permisos de lectura y escritura a cualquier miembro del grupo.
Esto último también se puede configurar en el directorio «/etc/profile», así como en la carpeta «/USUARIO/profile» («~/.profile»), que estará dentro de la carpeta de cada usuario de Linux.
Me pareció interesante o indicado.
Quizá podría realizar algo similar, explicando comose puede compartir una carpeta con, samba, en una red LAN.
Gracias de antemano.