ด้วยการsysvinitเป็นsudoersรายการเช่นนี้จะพอเพียง:
%webteam cms051=/sbin/service httpd *
สิ่งนี้จะช่วยให้คำสั่งเช่น:
sudo service httpd statussudo service httpd restart
ขณะนี้ด้วยsystemdชื่อบริการเป็นอาร์กิวเมนต์สุดท้าย นั่นคือบริการเริ่มต้นใหม่จะทำกับ:
systemctl restart httpd.service
โดยธรรมชาติแล้วฉันคิดว่าการกำหนดคำสั่งsystemctl * httpd.serviceจะทำงานได้ แต่นั่นจะอนุญาตให้บางอย่างเช่นsystemctl restart puppet.service httpd.serviceซึ่งไม่ใช่ผลที่ต้องการ
เมื่อพิจารณาแล้วสิ่งใดจะเป็นวิธีที่ดีที่สุดที่จะทำให้ผู้ใช้ที่ไม่ใช่รูทสามารถควบคุมsystem.dบริการได้ สิ่งนี้ไม่จำเป็นต้องเป็นsudoers; บางทีการเปลี่ยนแปลงการอนุญาตไฟล์อาจจะเพียงพอหรือไม่
sudoกำหนดค่าในช่วงเวลาหนึ่ง แต่คุณไม่สามารถทำอะไรเช่นนี้ได้cms051=systemctl * httpd.serviceใช่ไหม