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 utiliza la llamada al sistema execve o setuid.
- set gid (?): todos los archivos nuevos que se creen 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 permanencia (?): 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 para 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 cambiar los permisos de acceso a los archivos; esta función se denomina generalmente "CHMOD" y se encuentra en las opciones "Propiedades", "Permisos" o "Atributos" (normalmente, 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, confirme 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.
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 dígitos, donde:
- el primero corresponde a los permisos del propietario
- el segundo corresponde a los derechos del grupo
- el tercer número corresponde a los derechos 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
- "1" para el permiso de ejecución
Luego, simplemente sume estos números. Por ejemplo, si desea conceder todos los permisos al propietario pero ninguno a los demás, utilice "chmod 700" (4 + 2 + 1 = 7). Si solo desea conceder permisos de lectura y escritura a todos (4 + 2 = 6), utilice "chmod 666".
Estos valores son conocidos por cualquier buen software/cliente FTP, por lo que tendrá la opción de introducir directamente el número en su software/cliente FTP para que se modifiquen los permisos.
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 a aplicar debe estar en formato octal, de ahí el cero inicial obligatorio. Tenga cuidado si almacena el valor en una variable, ya que tendrá un problema de tipo de datos, que puede solucionar con la función octdec(), como en el siguiente ejemplo:
$mode = 0755;chmod("a_folder/a_file", octdec($mode))Enlace a esta FAQ: https://faq.infomaniak.com/111
¿Le ha sido útil esta FAQ?