在Python中检查文件是否为setuid根用户
我想在Python中检查一个文件是否设置了setuid位。
stat文档提到有一个 S_ISUID
函数,但它只和 os.chmod()
一起使用,不能用来实际读取setuid位。文档中还提到了 S_IMODE
,但我不知道该怎么理解它。
我该如何简单地检查一个文件是否设置了setuid根位?
1 个回答
8
stat.S_ISUID是一个用于表示“setuid”的模式位。你可以通过比较stat结果中的模式,来检查它是否包含这个位:
>>> ping = os.stat('/bin/ping')
>>> ping.st_mode & stat.S_ISUID
2048
>>> echo = os.stat('/bin/echo')
>>> echo.st_mode & stat.S_ISUID
0