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

ℝap*_*ink 2 python setuid file stat

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

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

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

Tho*_*ers 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
Run Code Online (Sandbox Code Playgroud)