Muchas veces cuando instalas en un servidor algún plugin o algún cms, como prestashop, te crean permisos de lectura, escritura y ejecución que no son los más adecuados para la seguridad del servidor. Personalmente me molesta especialmente encontrarme con directorios y ficheros con 777.
Modificar a mano una cantidad muy grande de ficheros y directorios puede requerir mucho tiempo así que he preparado un pequeño script en python que hace esas modificaciones por mi. Sólo hay que cambiar el string ruta_a_explorar por el path y el sólo modifica los ficheros y directorios dejando los permisos 644 para los ficheros y 755 para los directorios.
Espero que os sea útil.
#! /usr/bin/env python
# -*- coding: utf-8-*-
import os, sys, stat
ruta_a_explorar="/ruta/a/explorar/"
for root,dirs,files in os.walk(ruta_a_explorar):
for file in [f for f in files]:
pp=os.path.join(root, file).replace("""\\""",'/')
if stat.S_ISDIR(os.stat(pp)[stat.ST_MODE]):
os.chmod(pp,stat.S_IRWXU|stat.S_IWUSR|stat.S_IRGRP|stat.S_IXGRP|stat.S_IROTH|stat.S_IXOTH)
elif stat.S_ISREG(os.stat(pp)[stat.ST_MODE]):
os.chmod(pp,stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IROTH)
for dir in [f for f in dirs]:
pp=os.path.join(root, dir).replace("""\\""",'/')
print pp
if stat.S_ISDIR(os.stat(pp)[stat.ST_MODE]):
os.chmod(pp,stat.S_IRWXU|stat.S_IWUSR|stat.S_IRGRP|stat.S_IXGRP|stat.S_IROTH|stat.S_IXOTH)
elif stat.S_ISREG(os.stat(pp)[stat.ST_MODE]):
os.chmod(pp,stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IROTH)
Una forma sencilla de comprobar si un servicio del servidor está caído y hacer que se vuelva a levantar con Python.
En este caso es para comprobar si el apache está funcionando y si no lo está iniciar el servicio.
#! /usr/bin/env python # -*- coding: utf-8 -*- import socket, subprocess s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ip="127.0.0.1" port="80" try: s.connect((ip, int(port))) s.shutdown(2) except: subprocess.call(['/etc/init.d/apache2', 'start'])
Lo ideal sería tener este script ejecutándose en el cron cada poco tiempo.
Últimamente tengo muy descuidado este blog y ya va siendo hora de ponerlo al día.
Empezaré con un poco de programación. Muchos de vosotros sabeis que tengo especial predilección por python como lenguaje de programación y que lo utilizo para casi de todo. Hoy he visto un artículo que me ha gustado mucho en la revista o3magazine , trata sobre turbogears y está escrito por su creador, Kevin Dangoor .
Empieza por cosas tan básicas como por dar una visión general de python con algunos ejemplos de como se programa en este lenguaje o del modelo vista-controlador que utiliza este framework. En general es un artículo muy recomendable por que te permite tener una visión global de turbogears contada dpor alguien que lo conoce a fondo.
Después de leerlo creo que voy a darle una oportunidad a turbogears en un proyecto que próximamente voy a iniciar.