[Python-es] Agregar/quitar permisos de un archivo

lasizoillo lasizoillo en gmail.com
Mie Sep 14 02:14:35 CEST 2011


El día 13 de septiembre de 2011 20:44, Enric Florit
<efz1005 en gmail.com> escribió:
> Bueno, haciendo algunas pruebas más he conseguido entender lo de las
> máscaras de bits.
>
> Lo he resuelto así:
>
>     os.chmod(string, (0777 & ~stat.S_IXUSR))
>
> que supongo que era la manera que me propuso lasiozoillo.
>

No exactamente. El bin ese que puse es para que lo vieses claro el
resultado en la consola python. El 0777 para poner unos permisos en
octal como se suelen poner en la shell. Y así todo el rato. Si te
hubiese querido dar la receta exacta te hubiera dicho:

Para activar ejecución de usuario:

os.chmod(fichero, os.stat(fichero).st_mode | stat.S_IXUSR)

Y para quitarla:

os.chmod(fichero, os.stat(fichero).st_mode & ~stat.S_IXUSR)

Con esos ejemplos quedarían el resto de los permisos intactos, que
creo que era tu idea. Si no has llegado a esta conclusión igual
deberías darle otra repasada al tema de los operadores de bits en
python. Pero bueno, esto es solo un consejo que puedes ignorar
tranquilamente.

Saludos,

Javi


Más información sobre la lista de distribución Python-es