Permisos en linux

Cuando un usuario crea un archivo, este queda con unos permisos definidos, si otro usuario con login diferente entra en el mismo programa que crea el archivo mencionado y trata de crearlo, el sistema le devuelve un error de permisos. Como se hace para que cuando un usuario cree un archivo, ¿lo deje con todos los permisos y así otro usuario pueda crearlo nuevamente o borrarlo si es el caso?

2 respuestas

Respuesta
1
Para resolver ese inconveniente, lo que se hace es que ambos usuarios pertenezcan al mismo grupo, y que el archivo tenga permisos de lectura, escritura y ejecución para el grupo.
Lo que deberías hacer es correr estos comandos como root:
groups <nombreusuario1>
groups <nombreusuario2>
Y ver a cuales grupos pertenece cada uno.
Luego, hay que cambiar el grupo al cual pertenece el archivo en cuestión y ponerle los permisos 775.
Ahora, si lo que necesitas es que cada archivo que crea el usuario1 lo pueda modificar el usuario2, entonces hay que hacer algunos cambios extra:
1) Identificar con los comandos anteriores a cuales grupos pertenece cada uno.
2) Elegir un grupo en común, casi siempre será "users" o "usuarios" o algo así. En lo posible que no sea cdrom, audio, etc... Si quieres pásame la salida de esos comandos para que te recomiende cual usar.
3) Una vez definido el grupo en común, se cambia el grupo primario de los usuarios afectados. Como root corres:
usermod -g <nombre_grupo_comun> -U <nombre_usuario1>
usermod -g <nombre_grupo_comun> -U <nombre_usuario2>
Ahora, ambos usuarios tienen el mismo grupo primario, por lo que cuando creen un archivo, el grupo que se le asignará al mismo será <nombre_grupo_comun>.
4) Modificar el UMASK de los usuarios. Para eso, debes buscar en el directorio home de cada uno un archivo que se llame .bashrc o .bash_profile y agregar el siguiente comando:
Umask 002
De esa forma, cada vez que inicie sesión se modificará el umask, que es lo que le dice al sistema operativo que cada vez que el usuario cree un archivo le ponga los permisos resultantes de aplicar el complemento a la umask. Como se trata de bits, los permisos que se aplicarán a los archivos creados serán 775. De esa forma, obtendrás el comportamiento deseado, cada vez que usuario1 cree un archivo el grupo al que pertenece ese archivo será <nombre_grupo_comun> y los permisos de grupo para tal archivos serán 775 (rwx, rwx, r-x). Por lo tanto, cualquier usuario que pertenezca al grupo <nombre_grupo_comun> podrá modificar el archivo en cuestión.
Espero que esto te sirva, si necesitas ayuda en alguno de los puntos... aquí estaré ;-)
Respuesta
1
Para poder asignar unos permisos por defecto se utiliza el comando "umask" La asignación se realiza a modo de bits y sobre base octal, es decir si quieres que los ficheros que genera un usuario, (que son rwxrwxrwx) tengan los permisos rw-rw-rw- (lectura y escritura para el, su grupo y todos los usuario) deberás poner "umask 000". Si quieres poner rw-r----- (lectura y escritura para el mismo, solo lectura para el grupo y sin permisos para el resto) entonces sera "umask 048". Básicamente, si pasas cada dígito a bits, indica los permisos que otorgará al crear el fichero, sin tener en cuenta el permiso de ejecución, que no se puede asignar por umask, sino directamente.
Así te pongo varios ejemplos:
Rwxrw-r-- 003
r--r----- 337

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas