ปัญหาการดำเนินการคำสั่งในฐานะผู้ใช้อื่นกับ sudo -u


12

เมื่อฉันพยายามที่จะดำเนินการlsในฐานะผู้ใช้ที่abcมีคำสั่งต่อไปนี้ฉันได้รับข้อผิดพลาด:

xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.

แต่ถ้าฉันทำsu abcแล้วรันlsฉันก็ไม่มีปัญหา

คำตอบ:


17

คุณควรกำหนดค่านโยบายความปลอดภัยของ sudo เพื่อให้ผู้ใช้ xyz ทำบางสิ่งในฐานะผู้ใช้ abc อ่าน 'man sudoers' และใช้คำสั่ง visudo เพื่อกำหนดค่า / etc / sudoers

ตัวอย่างเช่นเราอนุญาตให้ผู้ใช้ xyz exec / usr / bin / whoami เป็นผู้ใช้ abc โดยไม่มีรหัสผ่าน เพิ่มสตริงนี้ลงใน / etc / sudoers (ด้วย visudo อย่าแก้ไข / etc / sudoers โดยตรง):

xyz ALL = (abc) NOPASSWD: /usr/bin/whoami

และตอนนี้ทดสอบ:

xyz@host:~$ sudo -u abc /usr/bin/whoami
abc

คุณทราบหรือไม่ว่าเหตุใดจึงควรหลีกเลี่ยงการแก้ไข / etc / sudoers โดยตรง
Adi Prasetyo

เพราะเมื่อคุณแก้ไข / etc / sudoers โดยตรงคุณสามารถทำผิดได้แตกไฟล์ sudoers และ (ในสถานการณ์ที่เลวร้ายที่สุด) บล็อกตัวเองด้วยการใช้ sudo 'Visudo' ไม่ได้เป็นเพียงเครื่องมือแก้ไขเท่านั้น แต่ยังตรวจสอบไวยากรณ์ของไฟล์ sudoers และช่วยหลีกเลี่ยงข้อผิดพลาดการพิมพ์ผิด ฯลฯ
5152

4

เพราะนี่คือความแตกต่างจากsudo suเมื่อคุณsu abcคุณเป็นผู้ใช้abcเท่าที่ระบบเกี่ยวข้อง จากนั้นคุณสามารถทำอะไรก็ได้ที่abcทำได้

ในทางตรงกันข้ามsudoจะใช้เพื่อให้ผู้ใช้รายอื่นสามารถดำเนินการคำสั่งบางอย่างโดยพร็อกซี ในคำอื่น ๆ ของการกำหนดค่าช่วยให้คุณทำคำสั่งบางอย่างในนามของsudo abcหากคำสั่งที่คุณพยายามเรียกใช้ไม่ใช่หนึ่งในนั้นคุณจะได้รับข้อผิดพลาดที่คุณรายงาน


0

ในกรณีที่ทุกอย่างดูไม่เป็นไร แต่คุณยังได้รับSorry user xxx cannot execute...ข้อความและมันจะขอsudoรหัสผ่านทุกครั้ง

คุณสามารถทำได้:

  1. ในการ/etc/sudoersลบสอดคล้องกับการตั้งค่าผู้ใช้ของคุณ
  2. บันทึกไฟล์
  3. เปิดไฟล์พิมพ์ (NO COPING) ตัวเลือกของคุณสำหรับผู้ใช้นั้น
  4. บันทึกไฟล์
  5. ลองมัน.

สิ่งนี้ใช้ได้สำหรับฉัน ปรากฎว่าจุดสิ้นสุดในบรรทัดนั้นไม่ดีเพราะฉันคัดลอกคำสั่งที่ต้องการการดำเนินการจากอีเมล


แน่นอนถ้าคุณเคยvisudoแก้ไขมันในตอนแรกคุณจะได้รับการบอกว่า?
Auspex

Nop คุณจะไม่
borbar

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