Linux Capabilities
লিনাক্স ক্যাপাবিলিটিজ
root-এর সর্বব্যাপী, all-or-nothing ক্ষমতাকে প্রায় ৪১টা স্বতন্ত্র, আলাদাভাবে গ্রহণযোগ্য bit-এ ভেঙে দেওয়ার kernel mechanism।
also: capabilities, capability, CAP_NET_BIND_SERVICE, capability bounding set
UID 0 (root) -- ঐতিহ্যগত মডেল: ২টা রাজ্য (root / non-root)
capabilities -- ২^৪১ টা সম্ভাব্য রাজ্য, প্রতিটা bit independently on/off
- প্রতিটা privileged অপারেশনের নিজস্ব
capable(CAP_XXX)চেক থাকে, শুধু UID==0 চেক না - পাঁচটা আলাদা সেট: permitted, effective, inheritable, bounding set, ambient — bounding set একটা কঠোর সিলিং
- উদাহরণ:
CAP_NET_BIND_SERVICEদিয়ে পুরো root ছাড়াই 1024-এর নিচের port bind করা যায় - Docker ডিফল্টভাবে bounding set ~১৪টা capability-তে নামিয়ে রাখে,
CAP_SYS_ADMIN/CAP_SYS_MODULE-এর মতো শক্তিশালী bit বাদ দিয়ে