Đây là điều mà tôi chưa thể tìm thấy nhiều thông tin vì vậy mọi sự trợ giúp đều được đánh giá cao.
Sự hiểu biết của tôi là như vậy. Lấy tập tin sau:
-rw-r----- 1 root adm 69524 May 21 17:31 debug.1
Người dùng phil
không thể truy cập tệp này:
phil@server:/var/log$ head -n 1 debug.1
cat: debug.1: Permission denied
Nếu phil
được thêm vào adm
nhóm, nó có thể:
root@server:~# adduser phil adm
Adding user `phil' to group `adm' ...
Adding user phil to group adm
Done.
phil@server:/var/log$ head -n 1 debug.1
May 21 11:23:15 server kernel: [ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
Tuy nhiên, nếu một quá trình được bắt đầu khi thiết lập một cách rõ ràng user:group
để phil:phil
nó không thể đọc được file. Quá trình bắt đầu như thế này:
nice -n 19 chroot --userspec phil:phil / sh -c "process"
Nếu quá trình được bắt đầu như phil:adm
, nó có thể đọc tệp:
nice -n 19 chroot --userspec phil:adm / sh -c "process"
Vì vậy, câu hỏi thực sự là:
Điều gì đặc biệt khi chạy một quy trình với một tổ hợp người dùng / nhóm cụ thể ngăn quá trình có thể truy cập các tệp thuộc sở hữu của các nhóm bổ sung của người dùng đó và có cách nào khác không?