อนุญาตการอนุญาตให้ใช้คำสั่ง bash แบบกำหนดเองโดยไม่อนุญาตให้ใช้คำสั่งพื้นฐาน


0

เรามีสคริปต์อัตโนมัติบนหนึ่งในเซิร์ฟเวอร์ของเราดำเนินการโดยการสังเกตผู้ใช้ ต้องบอกสคริปต์อื่นดำเนินการโดยผู้ใช้หลักเพื่ออัปเดตไฟล์บันทึก

รหัสสำหรับสิ่งนี้คือ sudo kill -UPDATE_LOG pid

เห็นได้ชัดว่าผู้สังเกตการณ์จะต้องมีสิทธิ์ในการเรียกใช้คำสั่งนี้ อย่างไรก็ตามฉันไม่ต้องการให้สิทธิ์สคริปต์อัตโนมัตินี้เพื่อฆ่ากระบวนการด้วยเหตุผลที่ชัดเจน

ฉันต้องการทำบางสิ่งเช่น alias update_log='kill -UPDATE_LOG; grant update_log on observing_user


ในการค้นหาคำตอบอย่างต่อเนื่องพบสิ่งนี้: superuser.com/questions/735172/…
Jack

คำตอบ:


0

อาจจะใช้

sudo pkill -UPDATE_LOG <process-name>

แทนที่จะฆ่าจะมีข้อ จำกัด เพียงพอที่จะตอบสนองความต้องการของคุณ?

อีกวิธีในการสร้างสิ่งนี้คือการฝังคำสั่งที่คุณต้องการนำเสนอด้วย sudo ในสคริปต์ที่กำหนดเองหรือ exec เพื่อดำเนินการนี้


0

เอาล่ะฉันพบคำตอบหลังจากเปลี่ยนคำค้นหา

ดูเพิ่มเติม: วิธีป้องกันผู้ใช้ sudo ไม่ให้รันคำสั่งเฉพาะ

ขั้นตอนที่ 1:

sudo visudo

ไวยากรณ์เป็นดังนี้:

user host=command

นี่ทำให้ sudo เข้าถึงคำสั่งที่กำหนด คุณยังสามารถทำกลุ่มเช่น

%group host=command

คุณสามารถใช้ ALL ในคอลัมน์ 3 คอลัมน์ใดก็ได้เพื่อใช้กับโฮสต์คำสั่งใด ๆ หรือผู้ใช้ใด ๆ

ทางออกของฉันคือ

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