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