【发布时间】:2010-01-29 17:31:02
【问题描述】:
我正在尝试检查文件是否在 Python 中具有 setuid 位。
The stat doc 提到了一个S_ISUID 函数,但它只适用于os.chmod(),而不是实际读取setuid 位。它还列出了S_IMODE,但我不知道如何解释它。
如何轻松检查文件是否设置为 setuid 根位?
【问题讨论】:
我正在尝试检查文件是否在 Python 中具有 setuid 位。
The stat doc 提到了一个S_ISUID 函数,但它只适用于os.chmod(),而不是实际读取setuid 位。它还列出了S_IMODE,但我不知道如何解释它。
如何轻松检查文件是否设置为 setuid 根位?
【问题讨论】:
stat.S_ISUID 是“setuid”的模式位。你比较统计结果的模式,看看它是否包含那个位:
>>> ping = os.stat('/bin/ping')
>>> ping.st_mode & stat.S_ISUID
2048
>>> echo = os.stat('/bin/echo')
>>> echo.st_mode & stat.S_ISUID
0
【讨论】:
S_ISDIR(mode) 之类的东西,所以我尝试了S_ISUID(mode),但它没有用。