Tôi có một người dùng có quyền truy cập hạn chế trên hệ thống (nghĩa là anh ta không phải là người sudoer); Hãy gọi anh ta là Bob .
Tôi có một tập lệnh hoặc tệp nhị phân mà tôi, người quản trị hệ thống tin tưởng và sẽ không gặp vấn đề gì khi chạy nó dưới quyền root; Hãy gọi kịch bản get-todays-passphrase.sh
. Công việc của tập lệnh này là đọc dữ liệu từ tệp "riêng tư" (thuộc sở hữu của người dùng / nhóm không phải là Bob hoặc thậm chí root) /srv/daily-passphrases
và chỉ xuất một dòng cụ thể từ tệp: dòng tương ứng với ngày hôm nay .
Người dùng như Bob không được phép biết mật khẩu của ngày mai, mặc dù nó được liệt kê trong tệp. Vì lý do này, tệp /srv/daily-passphrases
được bảo vệ bởi quyền hạn Unix, vì vậy người dùng không phải root như Bob không được phép truy cập tệp trực tiếp. Tuy nhiên, chúng được phép chạy get-todays-passphrase.sh
tập lệnh bất cứ lúc nào, trả về dữ liệu "đã lọc".
Để tóm tắt ( phiên bản TL; DR ):
- Bob không thể đọc tệp được bảo vệ
- Kịch bản có thể đọc tệp được bảo vệ
- Bất cứ lúc nào, Bob có thể chạy tập lệnh có thể đọc tệp
Có thể làm điều này trong các quyền của tệp Unix? Hoặc nếu Bob bắt đầu một tập lệnh, tập lệnh sẽ luôn luôn phải chịu số lần chạy với cùng một quyền như Bob?