linux

2011-10-22 16 views
19

में setcap का उपयोग करने के लिए cap_net_raw क्षमता जोड़ने के लिए, हम निम्न का उपयोग (जैसे/bin/पिंग के लिए):linux

#setcap cap_net_raw=ep /bin/ping 

ईपी का अर्थ क्या है और क्यों इसे यहाँ आवश्यक है?

धन्यवाद।

+0

http://kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html और 'man cap_from_text'। – Mat

उत्तर

22

यह "प्रभावी" (ई) और "अनुमत" (पी) क्षमता सेट दोनों में CAP_NET_RAW बिट सेट करता है। "विरासत" सेट के साथ, ये दो सेट, उन प्रक्रियाओं को नियंत्रित करते हैं जिन पर एक प्रक्रिया है या सेट कर सकते हैं।

यहाँ अधिक देखें:

capabilities - Linux man page

क्षमता सेट

प्रत्येक धागा तीन क्षमता शून्य या अधिक ऊपर क्षमताओं का युक्त सेट हैं:

Effective - कर्नेल द्वारापर उपयोग की जाने वाली क्षमताओंधागे के लिए अनुमति जांच प्रदर्शन करते हैं।

Permitted - क्षमताओं कि धागा मान सकते हैं (जैसे, प्रभावी और दाय सेट के लिए एक सीमित superset)। यदि कोई धागा से इसकी अनुमति सेट से क्षमता को छोड़ देता है, तो वह उस क्षमता को फिर से हासिल नहीं कर सकता है (जब तक कि यह exec() एक सेट-उपयोगकर्ता-आईडी-रूट प्रोग्राम नहीं है)।

inheritable - क्षमताओं एक execve पर संरक्षित (2)। कांटा (2) के माध्यम से बनाया गया बच्चा अपने माता-पिता की क्षमता सेट की प्रतियां प्रतियां प्राप्त करता है। निष्पादन() के दौरान क्षमताओं के उपचार की चर्चा के लिए नीचे देखें। कैप्सेट (2) का उपयोग करके, एक थ्रेड अपने स्वयं के क्षमता सेट में हेरफेर कर सकता है, या यदि उसके पास CAP_SETPCAP क्षमता है, तो किसी अन्य प्रक्रिया में थ्रेड के हैं।