ดูเหมือนว่าไม่มีใครสนใจความกังวลที่เห็นได้ชัดที่นี่ วางsudo
อยู่ภายในสคริปต์ของคุณที่คุณแล้วแจกจ่ายส่งเสริมพฤติกรรมของผู้ใช้ที่ไม่ดี (ฉันสมมติว่าคุณเผยแพร่เพราะคุณพูดถึง "จากมุมมองของผู้ใช้")
ความจริงก็คือมีแนวทางในการใช้แอปพลิเคชันและสคริปต์ที่คล้ายกับหลักการความปลอดภัยในการธนาคารของ: อย่าให้ข้อมูลส่วนบุคคลของคุณกับคนที่โทรหาคุณและบอกว่าพวกเขากำลังเรียก "จากธนาคารของคุณ"และที่มีอยู่ ด้วยเหตุผลที่คล้ายกัน
กฎสำหรับแอปพลิเคชันคือ:
อย่าพิมพ์รหัสผ่านของคุณเมื่อได้รับแจ้งเว้นแต่คุณจะแน่ใจในสิ่งที่กำลังทำอยู่ สิ่งนี้ใช้ได้กับทุกคนที่sudo
เข้าถึง
หากคุณพิมพ์รหัสผ่านของคุณเพราะคุณทำงานsudo
ในบรรทัดคำสั่งที่ดี หากคุณพิมพ์เพราะคุณใช้คำสั่ง SSH ได้ หากคุณพิมพ์ลงไปเมื่อคุณลงชื่อเข้าใช้ในคอมพิวเตอร์
หากคุณเพียงแค่เรียกใช้สคริปต์ต่างประเทศหรือเรียกใช้งานได้และป้อนรหัสผ่านของคุณเมื่อได้รับแจ้งคุณก็ไม่รู้ว่าสคริปต์กำลังทำอะไรอยู่ มันอาจจะเก็บไว้ในไฟล์ temp ในเท็กซ์สำหรับทุกสิ่งที่คุณรู้และอาจล้มเหลวในการทำความสะอาดหลังจากนั้น
เห็นได้ชัดว่ามีความกังวลแยกต่างหากและเพิ่มเติมเกี่ยวกับการทำงานที่ไม่รู้จักชุดของคำสั่งที่เป็นroot
แต่สิ่งที่ผมพูดถึงนี่คือการรักษาความปลอดภัยในการใช้รหัสผ่านของตัวเอง แม้ว่าสมมติว่าแอปพลิเคชัน / สคริปต์ไม่เป็นอันตรายคุณยังต้องการให้จัดการรหัสผ่านของคุณอย่างปลอดภัยเพื่อป้องกันไม่ให้แอปพลิเคชันอื่น ๆระงับการใช้งานและใช้งานโดยประสงค์ร้าย
ดังนั้นการตอบสนองส่วนตัวของฉันต่อสิ่งนี้คือสิ่งที่ดีที่สุดที่จะใส่ไว้ในสคริปต์ของคุณหากต้องการสิทธิพิเศษคือ:
#!/bin/bash
[ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1;}
# do privileged stuff, etc.
exec
- เรียกตัวเอง แต่ในเวลาเดียวกันการแทนที่กระบวนการดังนั้นเราจึงไม่วางไข่สคริปต์หลายครั้ง