OK. Creo que ya puedo seguir yo solo :) Muchas gracias!
El día 19 de julio de 2014, 19:14, Ricardo Cárdenes <ricardo.carde...@gmail.com> escribió: > En el fondo es sencillo. Ten en cuenta que esos permisos forman grupos de > bits, en plan "rwxrwxrwx", de manera que es más sencillo expresarlos en > octal (como la máscara). Hay más cosas que puedes tocar ahí, como permisos > suid/sgid etc, pero lo que te interesa son los nueve bits de menos peso, > agrupados como "ugo", en ese orden. > > Quitar el permiso w a o es tan sencillo como: > > np = p & 177775 > > > 2014-07-19 14:12 GMT+01:00 Jose Caballero <jcaballero....@gmail.com>: > >> Gracias! >> Lo miraré con atención. No hago nada con bits y máscaras desde la >> universidad (y eso fue el siglo pasado!) >> Si hubiese un link donde pudiese aprenderme los detalles estaría bien, así >> no tengo que preguntar aquí cada detalle. Mi siguiente necesidad, por >> ejemplo, es quitar permisos: o-w >> >> muchas gracias por el código. >> Saludos, >> Jose >> >> >> >> On Jul 19, 2014, at 6:39, Ricardo Cárdenes <ricardo.carde...@gmail.com> >> wrote: >> >> from os import chmod, stat >> >> # Máscara para los permisos de 'o' >> mask = 0177770 # esto es 0xFFFF >> # Obtenemos los permisos actuales y los de 'g', desplazados a la posición >> de 'o' >> p = stat('file').st_mode >> g = (p & 070) >> 3 >> # Aplicamos una máscara a los permisos actuales y ponemos los nuevos >> np = (p & mask) | g >> chmod('file', np) >> >> >> 2014-07-18 20:16 GMT+01:00 Jose Caballero <jcaballero....@gmail.com>: >>> >>> Hola, >>> >>> quisiera modificar los permisos de un fichero usando metodos y clases >>> de python (que vengan con la instalacion estandar 2.4). >>> Es decir, si es posible, no quiero hacer nada tipo >>> commands.getoutput('chmod...') >>> >>> Por lo que he leido hasta el momento, se usa os.stat() y os.chmod() >>> Pero no encuentro en google ningun ejemplo de como hacer chmod o=g >>> >>> Si alguien tiene un link con ejemplos de ese tipo estare eternamente >>> agradecido. >>> >>> Saludos >>> Jose (sin tildes) >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/