Hai chương trình setuid /usr/bin/bar
và /usr/bin/baz
chia sẻ một tệp cấu hình foo
. Chế độ của tệp cấu hình là 0640
, vì nó chứa thông tin nhạy cảm. Một chương trình chạy như bar:bar
(nghĩa là, như thanh người dùng , thanh nhóm ); cái khác như baz:baz
. Thay đổi người dùng không phải là một lựa chọn và thậm chí thay đổi nhóm sẽ không được ưa thích.
Tôi muốn liên kết cứng các tập tin cấu hình duy nhất như /etc/bar/foo
và /etc/baz/foo
. Tuy nhiên, điều này không thành công vì tập tin phải, theo như tôi biết, thuộc hoặc root:bar
hoặc root:baz
.
Giải pháp tiềm năng: Tạo một nhóm mới barbaz
có thành viên bar
và baz
. Hãy foo
thuộc về root:barbaz
.
Đó trông giống như một giải pháp khá nặng tay với tôi. Không có cách nào gọn gàng hơn, đơn giản hơn để chia sẻ tập tin cấu hình foo
giữa hai chương trình?
Hiện tại, tôi đang duy trì hai bản sao giống hệt của tệp. Điều này hoạt động, nhưng rõ ràng là sai. Điều gì sẽ đúng?
Để biết thông tin: Tôi có ít kinh nghiệm với các nhóm Unix và không có nhóm nào với setgid (2).
ssl-cert
nhóm này là nhóm, barbaz
nhóm của bạn khá nhiều . Tiêu chuẩn là đặt tất cả các khóa riêng được sở hữu bởi ssl-cert
nhóm và đặt các UID được liên kết với các chương trình cần truy cập chúng vào nhóm đó.
ssl-cert
có tập lệnh postinst, khi cài đặt, tạo ra nhóm mà bạn nói. Tôi đã không nhận thức được ssl-cert
. Apache2 (được cài đặt trên máy chủ của tôi) khuyến nghị ssl-cert
. Các gói Exim và Dovecot khác nhau thì không, nhưng Postfix (không được cài đặt trên máy chủ của tôi) phụ thuộc vào ssl-cert
. Do Apache, máy chủ của tôi không có nhóm ssl-cert , nhưng nhóm này chưa có thành viên. Cảm ơn vì lời khuyên.