सेट-परिवर्तन स्थायी हैं


11

फ़ाइल के लिए सेट अप का उपयोग करते समय, क्या यह परिवर्तन स्थायी है या क्या मुझे बूट समय पर कहीं और सेट करना है?

setcap cap_sys_nice fooexecutable

जवाबों:


15

Setcap फ़ाइल पर संग्रहीत करता क्षमताओं के लिए एक कॉल के साथ एक विस्तारित विशेषता में setxattr । इस विस्तारित विशेषता को फाइलसिस्टम में अन्य विशेषताओं (स्वामित्व, अधिकार ...) की तरह संग्रहीत किया जाता है।

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

इसलिए, आपको प्रत्येक रीबूट पर अपनी कैप को रीसेट करने की आवश्यकता नहीं है।


यदि फ़ाइल को बदल दिया जाए तो क्या होगा?
8

1
@ryanwinchester यदि केवल फ़ाइल की सामग्री बदली जाती है, तो कोई समस्या नहीं है, लेकिन यदि फ़ाइल निकाल दी जाती है / फिर से बनाई जाती है, तो सेट की गई क्षमता भी हटा दी जाएगी।
सेड्रिक जूलियन

:( आह, तो यह मेरी समस्या है। मेरे पास एक स्क्रिप्ट है जो एक निर्देशिका का पुनर्निर्माण करती है और फिर पोर्ट 80 पर एक सर्वर को सुनना शुरू कर देती है। मुझे setcapहर बार नहीं चलने का एक तरीका निकालने की जरूरत है
ryanwinchester

"यदि केवल फ़ाइल की सामग्री बदली जाती है, तो कोई समस्या नहीं है" यह सच नहीं है। किसी फ़ाइल की सामग्री को बदलने से उसकी क्षमताओं को हटा दिया जाएगा। देखें unix.stackexchange.com/a/283408/2526
रिचर्ड Fearn

0

परिवर्तन स्थायी हैं, लेकिन मैंने उन मुद्दों का अनुभव किया है जिनका उपयोग किया जाता है nodejs

आप authbindउपयोगकर्ता द्वारा अनुमति प्रदान करने के लिए उपयोग कर सकते हैं

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.