我正在尝试检查文件中是否有Python中的setuid位。
The stat doc提到S_ISUID
函数,但它仅适用于os.chmod()
,而不是实际读取setuid位。它还列出了S_IMODE
,但我不知道如何解释它。
如何轻松检查文件是否设置为setuid根位?
答案 0 :(得分:7)
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