检查文件是否是Python中的setuid root

时间:2010-01-29 17:31:03

标签: python file setuid stat

我正在尝试检查文件中是否有Python中的setuid位。

The stat doc提到S_ISUID函数,但它仅适用于os.chmod(),而不是实际读取setuid位。它还列出了S_IMODE,但我不知道如何解释它。

如何轻松检查文件是否设置为setuid根位?

1 个答案:

答案 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