คำสั่งที่อนุญาตพิเศษที่ผู้ใช้สามารถใช้ได้กับ sudo


3

ฉันพยายามตั้งค่าบัญชีขาวของคำสั่งที่ผู้ใช้สามารถเรียกใช้บนระบบของฉัน เซิร์ฟเวอร์ที่ฉันใช้กำลังเรียกใช้ CentOS 7 ไวยากรณ์ที่ควรใช้เพื่ออนุญาตให้กลุ่มคำสั่งและอาร์กิวเมนต์บางกลุ่มสามารถเรียกใช้เป็น sudo สำหรับผู้ใช้ได้อย่างไร ฉันต้องการให้ sudo ไม่ต้องใช้รหัสผ่านเมื่อเรียกใช้คำสั่งเหล่านี้

ฉันได้ลองแล้ว:

  1. ผู้ใช้ ALL = / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: ทั้งหมด

  2. ผู้ใช้ ALL = (ผู้ใช้: กลุ่ม) / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: ทั้งหมด

  3. ผู้ใช้ ALL = (ผู้ใช้) / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: ทั้งหมด

  4. ผู้ใช้ทั้งหมด = (/ bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2) NOPASSWD: ALL

ความพยายามเหล่านั้นทั้งหมดส่งผลให้เกิดข้อผิดพลาดทางไวยากรณ์ในไฟล์ / etc / sudoers

ฉันได้ดูคำถามนี้: จะป้องกันผู้ใช้ sudo ไม่ให้รันคำสั่งเฉพาะได้อย่างไร และยังอ่านคู่มือนี้: https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos คำถามดูเหมือนจะบ่งบอกว่าความพยายามครั้งแรกควรได้ผลในขณะที่แนวทางดูเหมือนจะบ่งชี้ว่าความพยายามครั้งที่สองควรได้ทำงาน แล้วมันทำงานอย่างไร

คำตอบ:


2

ลองเพิ่มสิ่งนี้:

user ALL = (root) NOPASSWD: /bin/cmd1 args, /bin/cmd2 args

ในบรรทัดด้านบน:

  • user คือผู้ใช้ที่ต้องการเข้าถึงคำสั่ง
  • / bin / cmd1 args, / bin / cmd2 args เป็นคำสั่ง
  • root คือผู้ใช้ที่จะใช้คำสั่ง

ยังคงส่งผลให้เกิดข้อผิดพลาดทางไวยากรณ์ในบรรทัดนั้นเมื่อฉันบันทึกไฟล์
edrw

ฉันได้รับผู้ใช้ sudo และคำสั่งผสม ลองด้วยรูปแบบการแก้ไข
cristi

ดังนั้นหนึ่งในคำสั่งที่ฉันพยายามจะขึ้นบัญชีขาวคือผู้ใช้ / bin / chown: group / some / folder และเห็นได้ชัดว่าโคลอนที่ไม่ใช้ค่า Escape ทำให้เกิดข้อผิดพลาดทางไวยากรณ์
edrw

รูทระบุที่นี่คืออะไร? มันทำงานร่วมกับ 'user ALL = NOPASSWD: / bin / cmd args, / bin / cmd2 args' เช่นกัน
edrw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.