我想检查文件是否具有setuid位Python编写的。

静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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top