จำเป็นต้องมีการตรวจสอบสิทธิ์เพื่อจัดการบริการระบบหรือหน่วย


19

ฉันมีปัญหาแปลก ๆ เมื่อใดก็ตามที่พยายามหยุด / เริ่มต้นภูตในฐานะผู้ใช้ปกติมันจะขอให้รับรองความถูกต้องกับข้อมูลประจำตัวของผู้ใช้ปกติอื่น - ตัวอย่างเช่น:

[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password: 

เหตุใดจึงขอให้อลิซตรวจสอบสิทธิ์เมื่อBobเข้าสู่ระบบและฉันจะแก้ไขได้อย่างไร


ไฟล์กำหนดค่าบริการมีลักษณะอย่างไร
เจนนี่ดีพูดว่า Reinstate Monica

@JennyD: ตำแหน่งไฟล์ของ config อยู่ที่ไหน?
Jack O'Leary

คุณต้องการอะไร? คุณต้องการเริ่มบริการถ่ายสำเนาของผู้ใช้แต่ละคนหรือไม่ เช่นเริ่มต้น VNC-daemon เพื่อaliceและเป็นเจ้าของ VNC-daemon สำหรับbob ?
Alexander Tolkachev

@AlexanderT: ผู้ใช้แต่ละคนจำเป็นต้องมี vncserver ของตัวเองนั่นคือวิธีที่มันได้รับการออกแบบดังนั้นใช่ - นั่นคือมากหรือน้อย Bob ไม่ได้ใช้เซิร์ฟเวอร์ vnc แต่เขากำลังทำงานบางอย่างที่ไม่เกี่ยวข้อง แต่เมื่อเขาพยายามเริ่มต้นมัน systemctl ขอรหัสผ่านของอลิซ ... (ยัก)
Jack O'Leary

@ JackO'Leary คุณสามารถพยายามที่จะใช้systemd --userในขณะที่มันอธิบายในบทความนี้ มิฉะนั้นคุณสามารถให้ sudo แก่ผู้ใช้แต่ละรายสำหรับบริการที่จำเป็น
Alexander Tolkachev

คำตอบ:


8

ระบบของคุณโดยใช้ตัวจัดการการอนุญาตและข้อความนั้นมาจากไฟล์polkit สามารถกำหนดค่าในและไดเรกทอรีมากขึ้นโดยเฉพาะในและไดเรกทอรีย่อย ดูหน้าPolkit manสำหรับข้อมูลเพิ่มเติม/usr/share/polkit-1/actions/org.freedesktop.systemd1.policypolkit/etc/polkit-1/usr/share/polkit-1rules.dactions


จากเอกสารประกอบ: "polkit อนุญาตให้ผู้ใช้รับสิทธิ์ชั่วคราวผ่านการตรวจสอบสิทธิ์ผู้ใช้ที่เป็นผู้ดูแลระบบหรือเจ้าของเซสชันที่ไคลเอ็นต์เป็นเจ้าของ" บางทีนี่อาจเป็นเหตุผลว่าทำไมมันถึงขอรหัสผ่านของอลิซ
Johan Myréen

ฉันคิดว่าคุณกำลังเข้าสู่บางสิ่งบางอย่างที่นี่แม้ว่าฉันจะยังคงหายไปอย่างสมบูรณ์ในการลบกฎหรือสิ่งที่เป็นของผู้ใช้รายอื่นที่ขอให้ตรวจสอบสิทธิ์ต่อไป ฉันดูในไดเรกทอรีเหล่านั้นทั้งสองและแม้แต่ grep สำหรับ "alice" และไม่มีอะไรถูกส่งคืน
Jack O'Leary

คุณพูดก่อนหน้านี้ว่าคุณทำsu - aliceก่อนที่จะเริ่ม vnc daemon ฉันเดาว่าทำให้อลิซเป็น "เจ้าของเซสชันที่ลูกค้าเป็นเจ้าของ"
Johan Myréen

สิ่งที่ไม่สมเหตุสมผลก็คือว่ามันทำเพียงหนึ่งบริการซึ่งก็หยุดแล้วและผู้ใช้ออกจากระบบ บริการอื่นสำหรับบ๊อบไม่ควรทำอะไรกับอลิซเพราะมันเป็นอะไรที่แตกต่างไปจากเดิมอย่างสิ้นเชิง - มันแปลกมาก ... ฉันไม่รังเกียจที่จะปิดการใช้งาน polkit โดยสิ้นเชิงถ้านี่เป็นพฤติกรรมปกติ
Jack O'Leary

คุณสามารถค้นหาผู้ที่เป็นเจ้าของเซสชันได้ด้วยloginctlคำสั่ง สิ่งนี้สามารถยืนยันหรือพิสูจน์หักล้างทฤษฎีของฉันที่ polkit กำลังขอให้เจ้าของเซสชันตรวจสอบสิทธิ์ ฉันไม่สามารถพูดได้ว่าทำไมอลิซถึงเป็นเจ้าของในกรณีนี้
Johan Myréen

5

เมื่อจัดการบริการของระบบคุณต้องทำตามที่รูทไม่ใช่ผู้ใช้ปกติ นี่คือการระบุโดย$ตัวละครในตอนท้ายของเปลือกให้

คุณสามารถใช้sudo commandหรือเปลี่ยนเป็นรูทได้ (โดยปกติเชลล์รูทจะระบุด้วย#อักขระถ่าน)


แม้ว่าฉันจะทำตามรูท แต่ก็ขอการตรวจสอบผู้ใช้ตามปกติ โดยทั่วไปผู้ใช้รูททำsu - aliceแล้วsystemctlเริ่ม vnc daemon ของพวกเขา แต่ตอนนี้มันขอการรับรองความถูกต้องสำหรับทุกคนsystemctlไม่ว่ามันจะเป็นอะไร ...
Jack O'Leary

ฉันได้รับข้อความแสดงข้อผิดพลาดเมื่อฉันพิมพ์ '/etc/init.d/munge start' การเพิ่ม sudo แก้ไข ขอบคุณ!
fchen

0

ตรวจสอบ / etc / กลุ่มและกฎ sudoers สิ่งนี้อาจเกิดขึ้นได้หากมีคนเพิ่มตัวเองลงในกลุ่มล้อและกลายเป็นคนแบบนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.