गेटफ़ेकल अग्रणी / पूर्ण पथनाम से क्यों निकालता है?


10

मैं CentOS / Red Hat 6 के लिए ACL के बारे में सीखने के बीच में हूँ; जब मैं getfaclएक निरपेक्ष पथ का उपयोग करके चलता हूं , तो मैं आउटपुट के बीच आता हूं:

getfacl: अग्रणी '/' को निरपेक्ष पथ नामों से हटाना

ऐसा करने की आवश्यकता क्यों है? आपको किन परिस्थितियों में स्विच -pया उपयोग करने की आवश्यकता होगी --absolute-names?

वॉले सोयिंका और माइकल जैंग की मेरी किताबें इस बात का कोई उल्लेख नहीं करतीं, मैं मैन पेज में कोई सुराग नहीं देख रहा हूं, और मुझे कोई भी साइट नहीं मिल रही है जो सीधे इस चेतावनी को संबोधित करती हो।



मुझे इसमें और लिंक के लिए देखने में मदद करने के लिए धन्यवाद। मेरे प्रोग्रामिंग कौशल इस समय थोड़े अल्पविकसित हैं, लेकिन जब मैंने अपनी गद्दी पुस्तक के साथ C / C ++ से निपटना शुरू किया, तो मैंने फ़ाइल को सहेज लिया है।
सीनियनिगंस

जवाबों:


6

के आदमी पृष्ठ से getfacl:

-p, --absolute-names
       Do not strip leading slash characters (`/'). The  default  behavior
       is to strip leading slash characters.

जब आप -pस्विच का उपयोग किए बिना पूर्ण पथ की आपूर्ति करते हैं तो एक चेतावनी संदेश उत्सर्जित होता है ।

जब निरपेक्ष पथ getfaclकमांड को दिया जाता है तो आउटपुट अलग-अलग होते हैं ।

-pस्विच के बिना :

$ getfacl /path/foo/bar
getfacl: Removing leading '/' from absolute path names
# file: path/foo/bar
[Output truncated...]

फ़ाइल पथ शो में अग्रणी स्लैश पर ध्यान दें जब -pस्विच का उपयोग किया जाता है।

$ getfacl -p /path/foo/bar
# file: /path/foo/bar
[Output truncated...]

-p जब आप आगे की प्रक्रिया के लिए आउटपुट पाइप करते हैं, तो प्रमुख स्लैश रखना उपयोगी होता है।

आउटपुट तब समान होते हैं जब getfaclकमांड के सापेक्ष पथ दिया जाता है ।

$ getfacl bar
# file: bar
[Output truncated...]

कोई बदलाव नहीं:

$ getfacl -p bar
# file: bar
[Output truncated...]

मुझे माफ कर दो, क्योंकि मैं अपेक्षाकृत लिनक्स में नया हूं, लेकिन यह एक बहुत ही शानदार स्विच की तरह लगता है, क्योंकि अगर आप आउटपुट को किसी अन्य प्रोग्राम में पाइप कर रहे थे, तो आपको आउटपुट के उस सेक्शन को हड़पने के लिए स्ट्रीम को वैसे भी एडिट करना होगा। जगह है, क्या मैं सही हूँ? एक उदाहरण का मामला क्या होगा जहां अग्रणी स्लैश को पट्टी करना उपयोगी होगा? चूँकि यह एक निरपेक्ष मार्ग है, इसलिए इसे पहले स्थान पर रखना थोड़ा मूर्खतापूर्ण लगता है।
Seananigans

2
अन्य डिस्ट्रोस (जैसे FreeBSD) में, यह स्विच मौजूद नहीं है। आरएचईएल एसीएल पैकेज के स्रोत को देखकर, ऐसा लगता है कि --absolute-namesकेवल आउटपुट स्ट्रिंग - "# फाइल:" के साथ सौदा करते हैं, लेकिन पीछे तर्क नहीं। पहले मुझे लगता है कि यह एक सुरक्षा सुविधा हो सकती है। फिर भी, स्विच में मौजूद नहीं है setfacl। मेरी आखिरी धारणा यह है कि लेखक tarव्यवहार का अनुकरण करना चाहेगा, लेकिन -pस्विच का उपयोग getfaclबेकार हो सकता है।
इवान चौ

9
हालांकि यह क्यों जवाब नहीं है। क्यों प्रमुख स्लैश डिफ़ॉल्ट रूप से छीन लिए जाते हैं, यह कैसे मदद करता है ??
सेगफॉल्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.