सेटकैप का उपयोग करते समय, अनुमति कहां संग्रहीत की जाती है?


11

setcapएक बाइनरी को अतिरिक्त अनुमति देने के लिए उपयोग करते हुए , स्टोरेज या मेमोरी में कहीं नई अनुमति लिखना चाहिए, यह कहाँ संग्रहीत है?

के lsofरूप में उपयोग करना काम नहीं करता है क्योंकि प्रक्रिया बहुत जल्दी गायब हो जाती है।


दूसरी प्रक्रिया का उपयोग करें। की एक प्रति बनाएँ /usr/bin/sleepऔर इस प्रति को क्षमता दें।
16

जवाबों:


10

विस्तारित अनुमतियाँ जैसे कि एक्सेस कंट्रोल लिस्ट द्वारा निर्धारित setfaclऔर क्षमता फ़्लैग द्वारा सेट की गई setcapपंक्तियों को पारंपरिक अनुमतियों के रूप में उसी स्थान पर संग्रहीत किया जाता है और chmodफ़ाइल के इनोड में द्वारा सेट किए गए [ug] आईडी फ़्लैग को सेट किया जाता है ।

(वे वास्तव में डिस्क पर एक अलग ब्लॉक में संग्रहीत किए जा सकते हैं, क्योंकि एक इनोड का एक निश्चित आकार होता है जिसमें पारंपरिक अनुमति बिट्स के लिए जगह होती है, लेकिन संभावित अनबाउंड विस्तारित अनुमतियों के लिए नहीं। लेकिन यह केवल दुर्लभ मामलों में होता है, जैसे कि होना। देखभाल जो setcapडिस्क स्थान से बाहर चल सकती है। लेकिन यहां तक ​​कि chmodडिस्क स्थान से एक सिस्टम पर बाहर चला सकता है जो कटौती का उपयोग करता है!)

GNU ls किसी फ़ाइल के सेट की गई विशेषताओं को प्रदर्शित नहीं करता है। आप उन्हें प्रदर्शित कर सकते हैं getcap। आप के साथ सभी विस्तारित विशेषताओं को सूचीबद्ध कर सकते हैं getfattr -d -m -; सेट की गई विशेषता को कहा जाता है security.capabilityऔर यह एक द्विआधारी प्रारूप में एन्कोडेड है जो getcapआपके लिए डीकोड करता है।


4

सेट की गई फ़ाइल क्षमताओं को फाइलसिस्टम विस्तारित विशेषता में संग्रहीत किया जाता है। इन में समझाया गया है man 7 capabilities:

फ़ाइल की क्षमता सेट को एक विस्तारित विशेषता में संग्रहीत किया जाता है (देखें setxattr (2)) जिसे Security.capability नाम दिया गया है।

आप CapInh / CapPrm / CapEff क्षेत्रों की जांच करके एक चल रही प्रक्रिया की क्षमताओं का निरीक्षण कर सकते हैं /proc/PID/status। " सेटेड कमांड के साथ क्षमताओं को कैसे सेट करें? " के लिए मेरा जवाब देखें कि निष्पादन पर प्रक्रिया करने के लिए क्षमताओं को कैसे लागू किया जाता है।


capsh --decode = मानव पठनीय डेटा प्राप्त करने के लिए काम आ सकता है।
ज़ुल्ग्रीब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.