Pregunta

Estoy tratando de comprobar si un archivo tiene el bit setuid en Python.

El doc stat menciona una función S_ISUID pero sólo funciona con os.chmod(), no para realmente leer el bit setuid. También listas S_IMODE, pero no tengo ni idea de cómo interpretarlo.

¿Cómo se puede comprobar fácilmente si un archivo como el bit setuid root?

¿Fue útil?

Solución

stat.S_ISUID es el bit de modo de 'setuid'. Se trata de comparar el modo del resultado de estadísticas para ver si contiene bits que:

>>> ping = os.stat('/bin/ping')
>>> ping.st_mode & stat.S_ISUID
2048
>>> echo = os.stat('/bin/echo')
>>> echo.st_mode & stat.S_ISUID
0
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top