ฉันมีผู้ใช้ที่ จำกัด การเข้าถึงระบบ (นั่นคือเขาไม่ใช่ sudoer); ให้โทรเขาบ๊อบ
ฉันมีสคริปต์หรือไบนารีซึ่งฉันผู้ดูแลระบบไว้วางใจและจะไม่มีปัญหาในการเรียกใช้เป็น root มาเรียกสคริปต์get-todays-passphrase.sh
กันก่อน งานของสคริปต์นี้คือการอ่านข้อมูลจากไฟล์ "ส่วนตัว" (เป็นของผู้ใช้ / กลุ่มอื่นที่ไม่ใช่บ็อบหรือรูท) ที่อยู่ใน/srv/daily-passphrases
และส่งออกเฉพาะบรรทัดจากไฟล์: บรรทัดที่สอดคล้องกับวันที่วันนี้ .
ผู้ใช้เช่น Bob ไม่ได้รับอนุญาตให้รู้วลีรหัสผ่านของวันพรุ่งนี้แม้ว่าจะมีการระบุไว้ในไฟล์ ด้วยเหตุผลนี้ไฟล์/srv/daily-passphrases
ได้รับการปกป้องโดยสิทธิ์ Unix ดังนั้นผู้ใช้ที่ไม่ใช่รูทเช่น Bob จะไม่ได้รับอนุญาตให้เข้าถึงไฟล์โดยตรง อย่างไรก็ตามพวกเขาได้รับอนุญาตให้เรียกใช้get-todays-passphrase.sh
สคริปต์ได้ตลอดเวลาซึ่งส่งกลับข้อมูล "กรอง"
ในการสรุป (รุ่นTL; DR ):
- Bob ไม่สามารถอ่านไฟล์ที่มีการป้องกันได้
- สคริปต์สามารถอ่านไฟล์ที่ได้รับการป้องกัน
- ตลอดเวลาบ๊อบสามารถเรียกใช้สคริปต์ซึ่งสามารถอ่านไฟล์ได้
เป็นไปได้ไหมที่จะทำสิ่งนี้ภายในสิทธิ์ของไฟล์ Unix? หรือถ้าบ๊อบเริ่มสคริปต์สคริปต์จะต้องถูกกำหนดให้ทำงานด้วยสิทธิ์แบบเดียวกับบ็อบหรือไม่