Recientemente compartí parte de un disco duro con NFS en casa. En principio somos solo dos usuarios, pero surgieron problemas de permisos rápidamente. Después de darle un par de vueltas, decidí meter a los dos usuarios en un grupo:
groupadd shared
usermod -aG shared usuario1
usermod -aG shared usuario2
Sin embargo, si lo hacemos así los archivos creados o copiados no serán del grupo "shared", sino del primario del usuario, probablemente "users".
Así que podemos cambiar el grupo primario en lugar de añadir el grupo
usermod -g shared usuario1
usermod -g shared usuario2
Ahora hay que darle permisos la los archivos ya existentes. ¿Cómo lo hacemos? Pues decidí darle permiso de lectura y escritura a todos los archivos al usuario propietario y a los pertenecientes al grupo.
sudo chown -R usuario1:shared directorio
sudo chmod -R 660 directorio
Pero hay un pequeño problema... ¿qué pasa con los directorios? Para poder listar sus contenidos hay que dar permisos de ejecución. Y lo acabamos de quitar con el comando anterior. ¡Hay que ir de uno en uno! Noooo...
sudo find directorio -type d -exec chmod 770 {} \;
¿Y los archivos nuevos? Para eso está umask. Usaremos la máscara 007. Los permisos serán 777-007: 770 para directorios y 660 para archivos.
Editamos los .bashrc de los usuarios y añadimos:
umask 007
Con esto estaría listo. Bueno, queda un detalle más. No compartimos solo dos usuarios. Hay un tercero: el demonio de transmission. Este demonio crea los archivos con el usuario transmission y grupo transmission. Así que añadimos a los usuarios al grupo de transmission:
usermod -aG transmission usuario1
usermod -aG transmission usuario2
¿Y qué pasa con los archivos que cree?
Pues en mi distribución el archivo de configuración está en /var/lib/transmission/.config/transmission-daemon/settings.json
Hay que cambiar el valor de "umask" y cambiarlo a 2.
Con esto ya está todo configurado.
No comments:
Post a Comment