2
我试图检查一个文件是否有Python中的setuid位。检查一个文件是否在Python中是setuid root
The stat doc提到S_ISUID
函数,但它只适用于os.chmod()
,而不是实际读取setuid位。它还列出S_IMODE
,但我不知道如何解释它。
如何轻松检查一个文件是否被设置为setuid根位?
我试图检查一个文件是否有Python中的setuid位。检查一个文件是否在Python中是setuid root
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)',但它不起作用。 – 2010-01-30 05:30:47