Tôi đã nhận thấy rằng một số procs, chẳng hạn như bash, có /proc/<pid>/
thể đọc toàn bộ tài nguyên của họ bởi người dùng đã tạo ra Proc đó. Tuy nhiên, các procs khác, chẳng hạn như chrome hoặc gnome-keyring-daemon, hầu hết các /proc/<pid>/
tài nguyên của họ chỉ có thể truy cập bằng root, mặc dù quá trình này được sở hữu bởi người dùng bình thường và không được gọi là suid.
Tôi đã đào qua kernel một chút và thấy rằng / Proc / Stuff bị giới hạn nếu một tác vụ thiếu cờ 'có thể đổ được', tuy nhiên tôi rất khó hiểu trong trường hợp nào một tác vụ trở nên không thể xóa được (trừ trường hợp setuid, không áp dụng cho chrome hoặc gnome-keyring):
https://github.com/torvalds/linux/blob/164c09978cebebd8b5fc198e9243777dbaecdfa0/fs/proc/base.c#L1532
Bất cứ ai quan tâm để giúp tôi hiểu cơ chế cơ bản và lý do cho nó?
Cảm ơn!
Biên tập:
Tìm thấy một tài liệu tốt về lý do tại sao bạn không muốn có tác nhân SSH (chẳng hạn như gnome-keyring-daemon
) được người dùng của bạn kết xuất. Vẫn không chắc làm thế nào gnome-keyring-daemon
là làm cho chính nó không thể phá vỡ.