سؤال

أحاول التحقق مما إذا كان الملف يحتوي على جزء من setuid في بيثون.

Doc Stat يذكر S_ISUID الوظيفة ولكنها تعمل فقط مع os.chmod(), ، لا لقراءة بت البت بالفعل. كما يسرد 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