यदि उपयोगकर्ता आईडी बदलते हैं तो क्या टेरर अनुमति को संरक्षित नहीं करता है?


20

मुझे टार कमांड पर "पी" विकल्प के साथ कुछ डेटा बैकअप की आवश्यकता है। समस्या यह है कि मैं इस डेटा को पुनर्स्थापित करने जा रहा हूं, जिसमें सभी समान उपयोगकर्ता होंगे, लेकिन उन उपयोगकर्ताओं के पास अलग-अलग आईडी हो सकते हैं। क्या इससे उपयोगकर्ता नाम से अनुमतियों को सही ढंग से टारगेट करने में कोई अंतर पड़ेगा या क्या यह अनुमति बहाल करेगा?

जवाबों:


9

tarUID और GID पर आधारित अनुमतियाँ रिकॉर्ड करती हैं, उनसे जुड़े स्ट्रिंग पर नहीं। इसलिए यदि एक सर्वर पर UID 3300 था और वह 'bob' से जुड़ा था, तो नए सर्वर पर फ़ाइल उस उपयोगकर्ता के पास होगी जिसके पास UID 3300 है।

वर्चुअल सब कुछ (मैं सब कुछ कहना चाहता हूं, लेकिन यूनिक्स पर आप कभी भी 100% सुनिश्चित नहीं हो सकते) यूआईडी: जीआईडी ​​मूल्यों का उपयोग करता है, क्योंकि यही वास्तव में फाइल सिस्टम स्तर पर संग्रहीत है। नाम केवल पासवार्ड फ़ाइल में एक साधारण लुकअप है, अंतर्निहित चेक संख्यात्मक मानों का उपयोग करके किया जाता है।


आह, यह अच्छा नहीं है ... मुझे लगता है कि ज्यादातर स्थितियों में यह उपयुक्त है। दुर्भाग्य से, मेरे लिए नहीं ... धन्यवाद, EBBitTony।
मारियस

3
आप सबसे अधिक जीआईडी ​​(समूह पहचानकर्ता), जीयूआईडी नहीं (ग्लोबली यूनिक आइडेंटिफ़ायर) की संभावना रखते हैं।
बजे एक CVn

6
GNU टार उपयोगकर्ता / समूह नाम डेटा को भी सहेजता है, क्योंकि मैं इसे देख सकता हूं यदि मैं किसी मशीन पर एक संग्रह सूचीबद्ध करता हूं जिसमें उन उपयोगकर्ता नहीं हैं। निष्कर्षण के दौरान इसका उपयोग करने के लिए इसे प्राप्त करने का एक तरीका होना चाहिए।
रोब एच।

3
यह उत्तर केवल गलत है। tar करता रिकॉर्ड स्वामी के नाम।
स्टीफन हेइल

55

पिछले उत्तरों को समेटना और कुछ महत्वपूर्ण जानकारी जोड़ना:

  • जब अभिलेखागार बनाने, tarहमेशा की तरह, फ़ाइलें 'उपयोगकर्ता और समूह आईडी सुरक्षित करेगा जब तक साथ नहीं तो बताया --owner=NAME, --group=NAME। लेकिन फिर भी हमेशा प्रत्येक फ़ाइल के साथ एक उपयोगकर्ता और समूह जुड़ा रहेगा।

  • GNU टार, और शायद के अन्य संस्करणों tar, भी उपयोगकर्ता और समूह के नाम स्टोर , जब तक --numeric-ownerप्रयोग किया जाता है। bsdtar डिफ़ॉल्ट रूप से उपयोगकर्ता और समूह के नाम भी संग्रहीत करता है, लेकिन बनाते--numeric-owner समय विकल्प का समर्थन bsdtar 3.0 तक दिखाई नहीं देता है (ध्यान दें कि bsdtar ने विकल्प का समर्थन किया जब बहुत अधिक समय तक निकालने पर )।

  • एक नियमित उपयोगकर्ता के रूप में निकालने पर , सभी फाइलें हमेशा उपयोगकर्ता के स्वामित्व में रहेंगी । और यह अलग नहीं हो सकता, क्योंकि फाइल निकालने से फाइलसिस्टम पर एक नई फाइल बन रही है, और एक नियमित उपयोगकर्ता एक फाइल नहीं बना सकता है और किसी और को स्वामित्व नहीं दे सकता है।

  • जब जड़ के रूप में निकालते हैं , tarतो डिफ़ॉल्ट रूप से निकाले गए फ़ाइलों के स्वामित्व को पुनर्स्थापित करेंगे, जब तक कि --no-same-owner इसका उपयोग नहीं किया जाता है, जो खुद को जड़ें देने का स्वामित्व देगा।

  • GNU टार, bsdtar, और शायद के अन्य संस्करणों में tar, बहाल स्वामित्व उपयोगकर्ता (और समूह) नाम से किया जाता है , यदि वह जानकारी संग्रह में है और गंतव्य सिस्टम में एक मेल खाने वाला उपयोगकर्ता है। अन्यथा, यह आईडी द्वारा पुनर्स्थापित करता है। यदि --numeric-ownerविकल्प प्रदान किया जाता है, तो उपयोगकर्ता और समूह के नामों को अनदेखा कर दिया जाता है।

  • अनुमतियाँ और टाइमस्टैम्प भी संग्रह में सहेजे जाते हैं, और डिफ़ॉल्ट रूप से पुनर्स्थापित किए जाते हैं, जब तक कि विकल्प --no-same-permissionsऔर / या --touchउपयोग नहीं किए जाते हैं। जब उपयोगकर्ता द्वारा निकाले, उपयोगकर्ता की umaskहै घटाया अनुमतियों से जब तक --same-permissionsकिया जाता है।

  • --preserve-permissionsऔर --same-permissionsउपनाम हैं, और जैसी कार्यक्षमता है-p

उम्मीद है कि इस मुद्दे को स्पष्ट करने में मदद करता है! :)


3
उत्कृष्ट जवाब; इस सवाल के साथ-साथ इस विषय पर उठने वाले हर दूसरे सवाल का जवाब दे सकते हैं।
user1107893

यह ध्यान देने योग्य है कि जीएनयू का ही हाल के संस्करणों tarमें मनमाने ढंग से नाम निर्दिष्ट करने की अनुमति देते हैं --ownerया --group, में पिछले tarवर्तमान मशीन में एक नि: शुल्क देखने किया /etc/passwdऔर अगर कोई मैच था चलाने के लिए मना कर दिया।
मैटियो इटालिया

यदि आप निर्दिष्ट नाम के साथ एक संग्रह बनाते हैं --ownerलेकिन --numeric-ownerध्वज में भी जोड़ा जाता है तो क्या होता है ? इन प्रतिस्पर्धी आवश्यकताओं के साथ टार कैसे निपटता है?
CMCDragonkai 11

@CMCDragonkai: --ownerऔर --numeric-ownerपारस्परिक रूप से अनन्य नहीं हैं, और बहुत विशिष्ट उद्देश्यों की सेवा करते हैं: --owner=USERNAMEफ़ाइलों को संग्रहित करते समय फ़ाइलें और dirs मालिक (ओं) को ओवरराइड करेंगे, जबकि --numeric-ownerउपयोगकर्ता नाम को केवल स्टोर नहीं किया जाएगा, बस उसकी संख्यात्मक आईडी।
4

4

GNU टार को यूजर - theameame के मालिक का विकल्प। Http://www.gnu.org/software/tar/manual/html_section/Attributes.html देखें


यह सुपरसर्स के लिए डिफ़ॉल्ट के रूप में प्रलेखित है, और ओपी के प्रश्न को स्वीकृत उत्तर की तुलना में अलग तरीके से उत्तर देता है। (लिंक का कहना है कि जब GNU टार --same-owner का उपयोग करके पुनर्स्थापित करता है, तो यह पहली बार / etc / passwd में नामों के लिए दिखता है ।) एकमात्र बकाया मुद्दा यह है कि क्या OP का टार इम्प्लीमेंट्स --same-owner का संस्करण है।
माइक शेरिल 'कैट रिकॉल'

ओपी जीएनयू टार, मेथिंक के उपयोग की संभावना से भी बेहतर कुछ लिनक्स डिस्ट्रो का उपयोग कर रहा है। और प्रलेखन द्वारा जाना संभव है, जबकि स्वीकृत उत्तर इंगित करता है कि यह नहीं है ...
कॉलिन 'टी हार्ट

@Catcall - क्षमा करें, मैंने इसका परीक्षण करने का मौका दिए बिना उत्तर स्वीकार कर लिया। मैं सिर्फ आँख बंद करके लोगों पर भरोसा करता हूँ। फिर भी, जवाब देने वाला व्यक्ति थोड़े सही था, क्योंकि मैं "- मालिक-मालिक" के साथ बहाल नहीं कर रहा था और फिर आपने जवाब में जोड़ दिया। बहुत बुरा मैं दोनों को स्वीकार नहीं कर सकता। मैं डेबियन निचोड़ का उपयोग कर रहा हूं जो वास्तव में "--सैम-मालिक" का समर्थन करता है। पारितोषिक के लिए धन्यवाद।
मारियस

@ मार्स: मुझे पूरा यकीन है कि आप जब चाहें तब स्वीकृत उत्तर को बदल सकते हैं। (मैं सिर्फ इस बात पर ध्यान दूंगा कि मैंने इस सवाल का कोई जवाब नहीं दिया है, केवल टिप्पणियां हैं। मेरे पास कोई प्रतिनिधि नहीं है।)
माइक शेरिल 'कैट रिकॉल'

4

यदि आप दो सिस्टम के बीच फाइल ट्रांसफर करने की कोशिश कर रहे हैं, तो rsync डिफ़ॉल्ट रूप से यूआईडी के बजाय यूजरनेम द्वारा अनुमतियों को सेट करेगा, दोनों सिरों पर उपयोगकर्ता नामों को देखते हुए। यदि सिस्टम में से किसी एक पर उपयोगकर्ता मौजूद नहीं है, तो यह इसे यूआईडी के साथ कॉपी करेगा, जब तक कि आप इसे अन्यथा नहीं बताते।


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