Respuestas:
Tomado de esta excelente publicación en los foros de Ubuntu por Morbius1.
La forma clásica de Linux de hacer este tipo de cosas es algo como esto:
Crea la carpeta compartida:
sudo mkdir /home/Shared
Crea el nuevo grupo de usuarios:
sudo addgroup newgroup
Cambie la propiedad de la carpeta compartida al nuevo grupo:
sudo chown :newgroup /home/Shared
Agregue los usuarios deseados a ese grupo:
sudo adduser user1 newgroup
Repita para todos los usuarios.
Ahora tiene que tomar algunas decisiones sobre lo que desea que esos usuarios puedan hacer:
[a] Todos los usuarios del grupo pueden agregar y eliminar de la carpeta y pueden leer y no escribir en los archivos de los demás:
sudo chmod 0770 /home/Shared
[b] Igual que el anterior pero solo el propietario del archivo puede eliminarlo:
sudo chmod 1770 /home/Shared
[c] Todos los usuarios del grupo pueden agregar y eliminar de la carpeta y pueden leer y escribir en los archivos de los demás:
sudo chmod 2770 /home/Shared
[d] Igual que [c], excepto que solo el propietario del archivo puede eliminarlo:
sudo chmod 3770 /home/Shared
A 1
en la primera posición del comando chmod es el bit fijo que impide la eliminación de un archivo a cualquier persona que no sea el propietario.
A 2
en la primera posición del comando chmod es el bit setgid que obliga a todos los archivos nuevos o copiados a tener el grupo de esa carpeta.
A 3
en la primera posición del comando chmod es la combinación de los bits sticky ( 1
) y setgid ( +2
).
Hay una advertencia para todo esto en lo que respecta al bit setgid. Todos los archivos nuevos creados en y cualquier archivo copiado a esa carpeta de hecho heredarán el grupo de la carpeta. Pero no los archivos movidos a esa carpeta. Los archivos movidos conservan la propiedad desde donde se movieron. Una forma de superar este problema es usar bindfs.
Finalmente, si desea que otras personas fuera del grupo puedan ver los archivos pero no cambiarlos, cambie el 0 final en el chmod
comando a 5, por ejemplo:
sudo chmod 0775 /home/Shared