Tutorial CHMOD, entendiendo los permisos de archivo

tutoriales.gifMuchos de los problemas que suelen ocurrir a la hora de actualizar una web y de que se visualice un contenido correctamente, son causados por los permisos de archivo.

Liamngls ha realizado este interesante tutorial que hemos pubicado en Daboweb sobre el correcto uso de CHMOD (change mode).

Si vuestra web o blog se aloja en un (pull)server bajo Unix, GNU/Linux(/pull), OS X server etc, es conveniente saber como funciona el tema de los permisos.

Unos permisos correctos, también son más que importantes para que vuestro website esté protegido y seguro frente a comportamientos inesperados tanto de aplicaciones como de usuarios.

Se acompaña de capturas de pantalla para hacer más fácil su comprensión, en el tutorial se basa en FileZilla, aunque es válido para todos los clientes FTP / SFTP que lo soporten.

De todos modos, desde la línea de comandos es como más rápido trabajaréis con CHMOD.

Os dejo aquí un comando para establecer desde vuestro terminal via SSH la forma más común (y segura) de permisos de archivos en un sitio web, 755 para los directorios y 644 para los ficheros. Los cambia recursivamente desde el directorio en el que estéis situados;

find . -type f | xargs chmod 644 (ficheros)
find . -type d | xargs chmod 755 (directorios)

Por cierto, también habla de «chown» (propietario y grupo), nunca dejéis que Apache tenga permisos de escritura o ejecución sobre los virtual hosts (salvo en los casos de las «cachés» -;)

Acceso al manual sobre CHMOD.

dabo

Work: @apache_ctl | Edu: Hacker (and free) Culture & @debianhackers, @daboweb | Life: @verticalplaneta | ¿Hacktivista? (legítima defensa) GPG Key 0xBC695F37

dabo escribió 1255 entradas

Navegación de la entrada


Comentarios

  • klondike

    Estaba tomando un descanso de AM. y me he topado con esto.

    Un alternativa a los comandos que propones:

    for i in `find . -type f`; do chmod 644 $i; done;
    for i in `find . -type d`; do chmod 755 $i; done;

    Aunque la idea de xargs suena interesante y debería analizarla.

  • klondike

    Un par de comentarios más:

    La letra a permite aplicar el cambio a los tres grupos: usuario, grupo y otros. Por otro lado, también hay una opción llamada setuid (letra s) que permite que una aplicación sea ejecutada con privilegios administrativos (cosa poco recomendable pero a veces necesaria).

    Si luego me acuerdo quizás escriba un script que además se asegure de no cambiar los permisos a determinados ficheros listados en otro fichero.

  • dabo

    Es lo bueno de Unix, te permite llegar por un montón de opciones al mismo camino -;)

  • peibol

    Solo una indicacion, no hay que ser imbecil y poner una cosa como

    chmod 644 .*

    pensando que cambiará los permisos de los ocultos, esto se pondrá a trepar por las carpetas (.. cumple con .*) y te cambiará los permisos de todo lo que se encuentre…
    Lo he aprendido de mala manera, demostrandome lo imbécil que se puede llegar a ser.

  • dabo

    calla calla, si yo te contara…por ejemplo, una vez pensé que me había cargado el Apache porque quería hacer un «apacheclt restart» y fallo tras fallo…se me había olvidado poner en la ruta la barra al principio / -;)

Comentarios cerrados.