Score:0

จะให้ผู้ใช้ที่ไม่มีสิทธิพิเศษรันโปรแกรมที่ต้องใช้สิทธิ์ root ได้อย่างไรโดยไม่ต้องใช้รหัสผ่าน

ธง au
j0h

ฉันมีโปรแกรมที่ฉันเขียนและเข้าถึงฮาร์ดแวร์ (ไฟล์อุปกรณ์) และต้องการสิทธิ์รูทจึงจะทำงานได้ ฉันต้องการให้โปรแกรมนี้สามารถเรียกใช้งานได้โดยผู้ใช้ที่ไม่มีสิทธิพิเศษ โดยไม่จำเป็นต้องใช้รหัสผ่านรูท ฉันได้ลองแก้ไขการอนุญาตด้วย sudo chmod u+s ชื่อโปรแกรม รีบูต แต่โปรแกรมนั้นโปรแกรมจะไม่ทำงานด้วย sudo ./programName

ฉันจำได้ว่าทำแบบนี้เมื่อ 12 ปีก่อน แต่ตอนนี้ฉันคิดไม่ออก เคล็ดลับใด ๆ

waltinator avatar
it flag
อ่าน `man sudoers visudo`
Score:2
ธง cn

หากคุณตั้งค่าเจ้าของไฟล์ปฏิบัติการของโปรแกรมเป็น ราก กับ

sudo chown root /path/to/program/executable

แล้วตั้งค่า setuid bit ด้วย

sudo chmod u+s /path/to/program/executable

คุณไม่จำเป็นต้องรีบูตในภายหลังหรือใช้งาน ซูโด. การเริ่มต้นโปรแกรมตามปกติด้วยชื่อจะดำเนินการด้วยสิทธิ์พิเศษของรูท อย่างไรก็ตามสิ่งนี้จะอนุญาต ใดๆ ผู้ใช้สามารถเรียกใช้โปรแกรมด้วยสิทธิ์รูท ดังนั้นคุณควรจะเป็น มาก แน่ใจว่าคุณตั้งโปรแกรมในลักษณะที่ไม่สามารถใช้ในทางที่ผิดเพื่อดำเนินการอื่นนอกเหนือจากที่คุณต้องการด้วยสิทธิ์พิเศษของรูท

ขั้นตอนแรกเป็นสิ่งสำคัญ หน้าที่ของ setuid bit คือ ทำให้โปรแกรมทำงานด้วย UID ของเจ้าของไฟล์ ถ้าไม่ใช่เจ้าของ ราก จากนั้นโปรแกรมจะไม่มีสิทธิ์รูทแม้ว่าคุณจะรันด้วยก็ตาม ซูโดเนื่องจากบิต setuid จะแทนที่เอฟเฟกต์ของ ซูโด.

ดังนั้น ทั้ง เรียกใช้โปรแกรมของคุณด้วย ซูโด หรือ ตั้งบิต setuid ด้วย chmod u+sแต่ไม่ใช่ทั้งสองอย่าง

หมายเหตุ: แทนที่จะเรียกใช้โปรแกรมของคุณด้วยสิทธิ์รูท การตั้งค่าการอนุญาตของไฟล์อุปกรณ์ที่โปรแกรมเข้าถึงอาจดีกว่าเพื่ออนุญาตให้ผู้ใช้ทั่วไปที่รันโปรแกรมเข้าถึงที่จำเป็น

j0h avatar
au flag
j0h
หวานที่ทำงาน ฉันเข้าใจความหมายด้านความปลอดภัย แต่อุปกรณ์เป็นแบบลูกบิด IDK บางทีมันอาจจะถูกแฮ็ก แต่ฉันคิดว่ามันจะปลอดภัยสำหรับสิ่งที่ฉันกำลังทำอยู่ เว็บเซิร์ฟเวอร์ที่เปิดใช้งานนั้นเป็นเป้าหมายที่มีแนวโน้มมากกว่า แต่ไม่ใช่บนอินเทอร์เน็ต ฉันขอขอบคุณความช่วยเหลือ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา