Una de las primeras complicaciones que tuve a la hora de empezar a usar Ubuntu fue el tema de los permisos en los archivos y carpetas. En realidad no es nada complicado, y prestando atención un poco a la linea de comandos podemos darnos cuenta como funciona.
Para lograr esto usaremos el comando chmod, que tiene esta sintaxis:
Básicamente hay 3 tipos de usuarios: el owner (duelde;&ntio), el group (o grupo) y el user común. Antes de empezar, tomemos como ejemplo cualquier archivo. Por ejemplo, vamos a la consola y ubicados en el directorio Desktop escribamos:
Esto nos abre un editor de texto. Escribamos cualquier texto que queramos. Para esto apretamos I así ingresamos al modo INSERT y escribimos. Cuando terminamos presionamos ESC para salir de modo INSERT y luego :qw, para guardar los cambios y salir.
Luego hacemos ls -al. Este comando nos lista todos los archivos y directorios de la carpeta. Si buscamos, encontraremos una linea como esta:
Concentremosnos en este caso en la primera columna. En este caso tenemos un - que indica que es un archivo (d es de directorio) y luego rw-r–r–. Esto nos dice los distintos tipos de permisos:
- r es de lectura
- w es de escritura
- x es de ejecución
Por lo tanto, nuestro archivo ejemplo.txt tiene permisos de lectura y escritura para el creador del archivo y de lectura para el grupo y los demás usuarios. Para cambiar los permisos usamos el comando chmod. Puedes ver más de esto escribiendo chmod –help o man chmod en la consola.
Antes de pasar al comando y sus opciones, veamos las abreviaturas para los usuarios:
- u es el creador del archivo
- o son los demas usuarios del sistema
- g son los usuarios del mismo grupo
- a hace referencia a los tres anteriores juntos
Supongamos que queremos darle todos los permisos a todos los usuarios. Escribimos:
Haciendo ls -al tendremos
Todos los usuarios tienen todos los permisos. Ahora supongamos que queremos darle permisos de lectura y escritura a los demás usuarios y de lectura al grupo y al owner. Escribimos:
Esto nos da:
Como vemos, es cuestión de ir encadenando permisos y usuarios, hasta lograr lo que queremos. Otro caso: supongamos que queremos asignarle permisos a todos los archivos de un directorio. En este caso usamos el operador asterisco (*). Ejemplo:
El comando anterior le da todos los permisos (rwx) a todos los usuarios del sistema (a).
Por último, podemos darle opciones al comando chmod. Si escribimos por ejemplo -v, nos muestra los cambios que realiza. Si hacemos -R, cambia los permisos recursivamente. O sea, a todos los archivos dentro de los subdirectorios. Ejemplo:
Con eso cubrimos lo esencial sobre el cambio de permisos.