Base de conocimientos
1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Entender CHMOD (permisos de archivos en el servidor)
Esta guía detalla CHMOD (abreviatura de change mode), que permite modificar los permisos de acceso de un archivo o directorio.
Modificar los permisos FTP
Los permisos (consulte esta otra guía de Wikipedia) disponibles para cada usuario/grupo son los siguientes:
- lectura: otorga el derecho de listar (también requiere el permiso de ejecución) y leer en un directorio y/o leer un archivo
- escritura: otorga el derecho de crear, modificar, renombrar y eliminar archivos y/o directorios
- ejecución: para un directorio: otorga el derecho de acceder a él para leer sus subdirectorios; para un archivo: otorga el derecho de ejecutarlo si se trata de un programa o un script, por ejemplo.
- set uid (?): en un archivo con permisos de ejecución, esto hará que se ejecute con los permisos del propietario si se utiliza la llamada al sistema execve o setuid.
- set gid (?): todos los archivos nuevos creados pertenecerán al grupo del directorio y, en un archivo con permisos de ejecución, esto hará que se ejecute con los permisos del grupo.
- bit de restricción (?): en un directorio, los archivos del directorio solo podrán ser renombrados o eliminados por el propietario, incluso si otros usuarios tienen permisos de escritura. Este permiso no es muy útil en los archivos.
El Web FTP en el Panel de control permite cambiar los permisos de los archivos (incluido el de /web).
La mayoría de los programas/clientes FTP permiten modificar los permisos de acceso a los archivos; esta función suele llamarse "CHMOD" y se encuentra en las opciones "Propiedades", "Permisos" o "Atributos" (generalmente, haciendo clic con el botón derecho en el archivo o carpeta que se va a modificar). A menudo, hay una casilla que permite aplicar los permisos a todos los subdirectorios y archivos de la carpeta, de forma recursiva.
Una vez que haya marcado los permisos que le interesan, valide y los permisos se modificarán, excepto aquellos que no tenga permiso para modificar o, más bien, que el usuario con el que ha iniciado sesión no tenga permiso para modificar.
Ejemplo con Filezilla:
Más información
Cuando se habla de cambiar permisos, generalmente se trata de ejecutar un comando como "chmod 777", "chmod 666" o similar. Por lo tanto, se utilizan tres números que indican:
- el primero corresponde a los derechos del propietario
- el segundo corresponde a los derechos del grupo
- el tercer dígito corresponde a los permisos de los demás usuarios.
Y los permisos se dividen de la siguiente manera:
- "4" para el permiso de lectura (read)
- "2" para el permiso de escritura (write)
- "1" para el derecho de ejecución
Luego, simplemente sume estos números. Por ejemplo, si desea todos los derechos para el propietario, pero ningún derecho para los demás, use "chmod 700" (4 + 2 + 1 = 7). Si solo desea los derechos de lectura y escritura para todos (4 + 2 = 6), use "chmod 666".
Estos valores son conocidos por cualquier buen programa/cliente FTP, por lo que tendrá la posibilidad de introducir directamente el número en su programa/cliente FTP para que los permisos se modifiquen.
Para cambiar los permisos de los archivos o directorios en PHP, también puede hacerlo con la función “chmod”, como en el siguiente ejemplo:
chmod ("/a_folder/a_file", 0755)Tenga en cuenta que el valor que se va a aplicar debe estar en formato octal, de ahí el cero inicial obligatorio. Tenga cuidado si almacena el valor en una variable, ya que esto puede generar un problema de tipo de datos, que puede solucionar con la función octdec(), como en el siguiente ejemplo:
$modo = 0755;chmod("una_carpeta/un_archivo", octdec($modo))Enlace a esta FAQ: https://faq.infomaniak.com/111
¿Le ha sido útil esta FAQ?