Actualizado el miércoles, 12 julio, 2023
Si tienes un Servidor Dedicado o un VPS, quizás necesites gestionar la propiedad y los permisos de las carpetas y ficheros allí alojados. En Linux existen dos comandos principalmente para cambiar propietarios y modificar permisos: chmod y chown.
Recuerda que con el comando ls-l podrás ver los permisos que tiene ese fichero o directorio. Si un fichero tuviera todos los permisos, los 9 caracteres serían: rwx rwx rwx
Índice de contenidos
Interpretación de los permisos
Después de ejecutar ls -l . Te aparecerá listado el contenido seguido de nueve caracteres. Esos nueve caracteres (rwx rwx rwx) indican los 3 permisos que tienen diferentes grupos. El primer trío corresponde al propietario del fichero, quien lo creó. El segundo trío de caracteres al grupo propietario. Y la última terna, al resto de usuarios.
Significado de los caracteres
Ficheros
- r: Permiso de lectura (read)
- w: Permiso de escritura (write)
- x: Permiso de ejecución (execute)
- –: Sin permiso.
Directorios
- r: Permiso para listar el contenido del directorio.
- w: Permiso para crear o borrar archivos.
- x: Permiso para acceder a los archivos.
Los permisos solo los pueden cambiar: el usuario propietario del fichero y root.
Modificando los permisos y propietarios, incrementarás la seguridad de tu servidor, pero cuidado, porque hacerlo mal, provocaría todo lo contrario. A continuación te detallamos que hace cada uno de estos comandos. Si no tienes un servidor, pero eres usuario de Linux, también te puede resultar interesante. 😉
Comando chmod
Con este comando podrás modificar los permisos que tiene un fichero o directorio.
# chmod permisos nombre_fichero
Cada grupo de permisos (rwx) ha de pasarse a un número en base 8. Para no complicarte mucho, sustituye cada letra por este valor: lectura(4) + escritura(2) + ejecución (1)+ guión (0)
Por ejemplo: Para que archivo.txt tenga los permisos siguientes: r w x r – x – -x.
- Primero cambiamos cada letra por su valor, manteniendo la agrupación en tres: (4+2+1)(4+0+1)(0+0+1) = 751
- Por tanto, la instrucción a ejecutar es: chmod 751 archivo.txt
Si ejecutásemos esa instrucción, el usuario propietario tendría todos los permisos. El grupo propietario lectura y ejecución y el resto solo ejecución.
Si quisiésemos hacer ese cambio de forma recursiva en directorios habría que incluir el parametro -R: chmod -R permisos directorio
Comando chown
Con este comando podrás modificar el propietario y grupo propietario de un archivo. Esto puede serte necesario para cambiar permisos.
# chown nuevo-propietario:nuevo-grupo nombre_fichero
Este comando es mucho más sencillo que el anterior. Para verificar que has cambiado correctamente los propietarios puedes volver a ejecutar ls -l nombre_fichero. Al igual que chmod utilizando la opción -R podemos crear una operación recursiva cambiando la propiedad de carpetas y archivos contenidos dentro de un directorio.
Has visto, como modificar los permisos y propietarios de archivos y carpetas en tu servidor es muy sencillo, pero hay algunas consideraciones que deberías tener en cuenta antes de hacer nada. Si necesitas conocer todas las opciones de los comandos, recuerda que puedes ejecutar man chmod y man chown para encontrar el manual completo de los comandos que proporcionan los sistemas Unix.
Siempre que puedas pon permisos restrictivos. Con esto me refiero a que no le des permisos 777 a todos los archivos, ya que puede ser una puerta de entrada a hackers y malhechores.
Como norma general, lo más habitual es que las carpetas tengan unos permisos 755 y los ficheros 644. Aunque pienses que un archivo necesites todos los permisos de ejecución para que todo funcione, mejor cerciorarse antes.
Extra tip: Clientes dinahosting
Si trabajar desde consola no es lo tuyo, recuerda que desde el Panel de Control de dinahosting también puedes modificar los permisos de archivos y carpetas que tengas en hosting. En el explorador de archivos a la derecha, cuando tengas seleccionado un archivo te aparecerá unos checks en donde modificar el valor de estos permisos, sin tener que acordarte del código octal que representa cada uno.
Por último, no olvides que en dinahosting ofrecemos un servicio de Asesoría Técnica en el cual analizamos tus productos y te recomendamos ajustes o solventamos posibles problemas que puedan aparecer en tus servidores, hosting, VPS…
Si quieres obtener más información sobre este servicio, no dudes en contactar a través del teléfono, email o chat.
Pasar un número binario a base octal
Aunque en mitad del post te hemos indicado la forma rápida de conseguir los permisos en base octal, si tienes interés, a continuación te detallamos un poco más de dónde viene ese número. Recuerda que los permisos se representan como una sucesión de nueve caracteres, y cada terna corresponde a un “usuario” o grupo.
Ej: rwxr-xr–
Lo primero que tendríamos que hacer sería convertir, cada carácter, en un valor binario ¿Cómo? Sustituyendo los caracteres por 1 y los guiones por 0
Ej: rwxr-xr– sería 111101100
Después tendríamos que separar la cifra en grupos de 3:
111101100 a 111 101 100
Utilizando la tabla de conversión podemos saber con qué cifra corresponde cada trío
Binario | Octal |
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Por tanto:
111 -> 7
101 -> 5
100 -> 4
Si te ha resultado complejo, no te compliques y sigue el primer ejemplo.
Deja una respuesta