[Python-es] chmod o=g

Jose Caballero jcaballero.hep en gmail.com
Dom Jul 20 02:48:10 CEST 2014


OK. Creo que ya puedo seguir yo solo  :)
Muchas gracias!

El día 19 de julio de 2014, 19:14, Ricardo Cárdenes
<ricardo.cardenes en 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.hep en 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.cardenes en 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.hep en 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 en python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


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