ACL को संरक्षित करने, बैकअप फ़ाइलों का उपयोग करने के लिए क्या करें?


24

जब बैकअप को फाइलों में स्टोर करने के लिए टार यूटिलिटी का उपयोग करते हैं तो एक विस्तारित ACL को खो देता है।

क्या कुछ आमतौर पर उपयोग किया जाता है और हैकिश समाधान नहीं है (जैसे: एक स्क्रिप्ट बनाएं जो एसीएल को खरोंच से बचाएगी) एसीएल को संरक्षित करने के लिए?


जवाबों:


4

टार का उपयोग करना

बनाना:

tar --acls -cpf backup.tar some-dir-or-file

असत्य करना:

tar --acls -xpf backup.tar

3
tar: unrecognized option '--acls'काम नहीं करता।
maniat1k

1
फेडोरा में गैर-मानक GNU टार पैच हैं, जिनमें शामिल हैं--acls
user55149

3
डेबियन में, जेसी तक tarसमर्थन नहीं करता है --acls। ( बग # 732071 देखें ।) यह सुविधा पैकेज से भी उपलब्ध है wheezy-backports
एलिस्टेयर इर्विन

ध्यान दें कि wheezy-backportsसंस्करण में tarबग wrt --aclsविकल्प है। कहा विकल्प का उपयोग कर टारबॉल निष्कर्षण acl के असाइन करेगा, भले ही संग्रह में कोई नहीं था (!)। देखें यहाँ
खान में काम करनेवाला

14

वास्तव में, मेरा मानना ​​है कि प्रश्न (मानक) फ़ाइल अनुमति बिट्स के बारे में नहीं था, लेकिन विस्तारित ACL जानकारी (देखें सेटफैक्ल (1) या एसएल (5))।

मेरी जानकारी के लिए, अनमैन्डिफाइड जीएनयू टार ACL सूचनाओं की अनदेखी करता है। (GNU टार 1.15.1 के लिए मैन पेज आरएचईएल 5.2 के साथ भेज दिया गया है - स्विच औरacno-acls का उल्लेख करता है, लेकिन मैंने उन्हें काम करने के लिए नहीं दिया है।)

हालांकि, यदि आप एक्सस्टार प्रारूप का चयन करते हैं, तो स्टार प्रोग्राम एसीएल को बैक अप और रीस्टोर करने में सक्षम है :

star -c -p -acl artype=exustar -f archive.tar  files...
star -x -acl -f archive.tar

स्टार होम पेज: http://cdrecord.berlios.de/new/pStreet/star.html स्टार ubuntu में उपलब्ध है, कम से कम।


ऐसा लगता है कि मैं जो चाहता हूं, मुझे उस पर ध्यान देना होगा। अब मुझे प्रति दिन कुछ और घंटे खरीदने की ज़रूरत है;)
रेशम

3
starडेबियन पर उपलब्ध नहीं है और एक "टीम" द्वारा बनाए रखा नहीं लगता है। यह परियोजना अभी भी जीवित है और 30+ वर्षों के बाद भी कायम है। कोशिश करें bsdtarकि आप कुछ और चाहते हैं।
टॉटर

1
पेटीज बंद होने के बाद आप इसे यहां पा सकते हैं: sourceforge.net/projects/s-tar/files
जोनास स्टीन

9

मैं एक समाधान के लिए देख रहा हूँ साथ ही अब तक मुझे यह मिला:

पहले मेरे फोल्डर से गेटफैक्टल करें

getfacl -R /a_folder > folder.acl

तो एक नियमित रूप से टार करते हैं

tar -czvf folder.tar.gz /a_folder

जब मैं इसे निकालता हूं

tar -xvf folder.tar.gz

अनुमतियों के लिए एक setfacl करते हैं।

setfacl --restore=folder.acl

यह मेरे लिए काम करता है।


1
धन्यवाद। इस पृष्ठ पर मेरे लिए कुछ भी काम नहीं किया [मैं वास्तव में इसका मतलब है, मैंने भी स्रोत से स्टार संकलित किया, लेकिन यह काम करने में विफल रहा]। लेकिन यह वास्तव में काम किया। हालांकि सुरुचिपूर्ण नहीं है, लेकिन सही काम करता है।
ashishsony


2

यदि आप एक सरल-से-उपयोग के लिए अभी तक शक्तिशाली समाधान ढूंढ रहे हैं, तो मैं सुझाऊंगा rdiff-backup

मूल रूप से, यह एक स्रोत निर्देशिका की एक गंतव्य निर्देशिका की प्रतिलिपि बनाता है, लेकिन यह अतिरिक्त जानकारी भी बचाता है ताकि आप जब चाहें समय पर वापस जा सकें।

और, निश्चित रूप से, यह सिमलिंक, विशेष फाइलें, हार्डलिंक, अनुमतियां, यूआईडी / जीआईडी ​​स्वामित्व और संशोधन समय को संरक्षित करता है।


2

मैं आपको उपयोग करने का सुझाव देता हूं bsdtar

bsdtar बैकअप डिफ़ॉल्ट रूप से एसीएल बढ़ाया है, यह का उपयोग करता है एक ही वाक्य रचना के रूप में GNU tarहै, और संग्रह का उत्पादन यह द्वारा पढ़े जाने योग्य हैं GNU tar

पैकेज और कमांड नाम (डेबियन आधारित वितरण के तहत) है bsdtar

bsdtar cf archive.tar /my/folder/using/extd_acl 
bsdtar xf archive.tar 

2 डी (एक्स्ट्रेक्ट) कमांड ACL को पुनर्स्थापित करता है।


मुझे यह काम करने के लिए नहीं मिल रहा है, भले ही मुझे यकीन है कि यह कुछ समय पहले काम कर रहा है। बग दर्ज किया गया, code.google.com/p/libarchive/issues/detail?id=329
अम्ब्रोज़ बिज्जक

यहाँ वास्तव में वही ... मैं डेबियन 8 जेसी पर यह कोशिश की और यह काम नहीं किया। :(
तोटर

मैं इसे डेबियन (x64, पीसी) पर कई वर्षों से बिना किसी समस्या (मट्ठे, जेसी, और वर्तमान में कई मशीनों पर खिंचाव) का उपयोग कर रहा हूं।
बिनुआर

1

टार मैन पेज से।

-p, --same- अनुमतियाँ, -preserve- अनुमतियाँ
             फ़ाइलों को निकालते समय umask को अनदेखा करती हैं (रूट के लिए डिफ़ॉल्ट)

यह वास्तव में संग्रह करने का कार्य नहीं है जो एक्सेस अनुमतियों (ACL) को बदल देता है, बल्कि उन्हें अनपैक करने का कार्य करता है। राल बहुत बार एक से दूसरे उपयोगकर्ता से फाइल को वितरित करने के लिए किया जाता है, और इसलिए यह एक उन लागू करने के लिए सुविधाजनक के लिए सोचा है umask जब वे खोल दे।

पिछली अनुमतियों की फ़ाइलों को संरक्षित करने के लिए, बस अपने विकल्पों के लिए एपी से विज्ञापन करें। उदाहरण के लिए

सीधा टार:

tar xvp some-file

bz.tar:

tar xvjp some-file

gz.tar:

tar xvzp some-file

यह काम नहीं करता।
maniat1k

1
इसके अलावा टार स्वचालित रूप से पता लगाता है कि क्या निकालना है। 'J ’या no z’ पास करने की कोई आवश्यकता नहीं है।
अच्छा व्यक्ति
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.