ฉันจะตรวจสอบว่าสคริปต์ python ของฉันทำงานภายใต้สิทธิ์ผู้ดูแลระบบ (sudo) ภายใต้ระบบปฏิบัติการ BSD ได้อย่างไร จำเป็นต้องแสดงคำเตือนที่ใช้งานง่ายเพื่อให้สามารถดำเนินการได้โดยไม่มีสิทธิ์ของผู้ดูแลระบบ
ฉันจะตรวจสอบว่าสคริปต์ python ของฉันทำงานภายใต้สิทธิ์ผู้ดูแลระบบ (sudo) ภายใต้ระบบปฏิบัติการ BSD ได้อย่างไร จำเป็นต้องแสดงคำเตือนที่ใช้งานง่ายเพื่อให้สามารถดำเนินการได้โดยไม่มีสิทธิ์ของผู้ดูแลระบบ
คำตอบ:
แล้วเรื่องนี้ล่ะ ตรวจสอบว่าuid == 0
:
[kbrandt@kbrandt-admin: ~] python -c 'import os; print os.getuid()'
196677
[kbrandt@kbrandt-admin: ~] sudo python -c 'import os; print os.getuid()'
0
วิธีการเกี่ยวกับที่หนึ่ง:
import os
username=os.system("whoami")
if username is not "root":
print "You aren't root"
else:
print "Hello, "+username
อย่าล่อลวงให้จับคู่ชื่อผู้ใช้กับสตริง "รูท"
โดยทั่วไปคุณจะต้องให้คำบรรยายภาพที่มีประสิทธิภาพน้อยลงเพื่อให้ได้การแสดงข้อความของ UID หรือคุณจะต้องพึ่งพาตัวแปรสภาพแวดล้อมซึ่งอาจไม่น่าเชื่อถือ