फ़ाइल को अनज़िप करते हुए सही अनुमति मिल रही है?


17

मैंने अपने सर्वर पर एक फ़ाइल का उपयोग नहीं किया:

unzip filename

हालाँकि ऐसा लगता है कि सभी फाइलों के स्वामी / समूह की अनुमति है 0 0

मेरे द्वारा अपलोड की गई फ़ाइलें एक PHPसॉफ़्टवेयर स्क्रिप्ट थीं , इसलिए मैं सोच रहा हूं कि फ़ाइलों को खोलते समय मैं अनुमतियों को ठीक से कैसे सेट करूं और उन्हें क्या सेट किया जाना चाहिए?

जवाबों:


10

जहाँ तक मुझे पता है जिप फाइल के स्वामित्व / अनुमति को बचाने का समर्थन नहीं करता है। आप umask सेट करने का प्रयास कर सकते हैं ताकि अनज़िप को इन अनुमतियों के साथ फ़ाइलें बनाई जाएं। Daud

umask 644

पहले unzip


यह वास्तव में खिड़की के साथ ज़िप किया गया था, क्षमा करें।
ब्रेट

1
इससे कोई फर्क नहीं पड़ता कि यह विंडोज़ या * निक्स पर बनाया गया था। ज़िप अभी भी यूनिक्स फ़ाइल अनुमतियों का समर्थन नहीं करता है। भले ही यह कहां बनाया गया था।
Lawl0r

हाँ, मुझे पता है .... लेकिन आपने कहा कि मैं कोशिश कर सकता हूं umaskताकि यह इन अनुमतियों के साथ ज़िप बनाए; लेकिन मुझे नहीं लगता कि मैं खिड़कियों पर ऐसा कर सकता हूं?
ब्रेट

अनज़िप करने
Lawl0r

8
@ lawl0r हाँ यह करता है। उन्हें देखने के लिए -Z विकल्प का उपयोग करें।
ऑरेंजडॉग

20

दरअसल, यहां कुछ जवाब सही नहीं हैं। ज़िप फ़ाइलों में फ़ाइल अनुमतियाँ भी हो सकती हैं। (*) आप अपनी जिप फाइल में मौजूद फाइलों की अनुमतियों को सूचीबद्ध कर सकते हैं:

unzip -Z

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

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

यदि आपने जिप फाइल को स्वयं नहीं बनाया है , तो आपका एकमात्र मौका उदाहरण के लिए अनज़िप करने के बाद अनुमतियों को सही सेट करना है

chmod -R [permissions] [directory]

(*) हम मवन असेंबली प्लगइन के साथ संयोजन में उस सुविधा का उपयोग करते हैं, जहां आप फ़ाइल के लिए फ़ाइलकोड निर्दिष्ट कर सकते हैं जो ज़िप फ़ाइल में जाती है।


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

2
@FranciscoTapia मैंने अपना उत्तर अपडेट किया (कुछ चीजों के साथ जो एक कोशिश कर सकता था), लेकिन मैं संकेत छोड़ दूंगा कि अन्य उत्तर वहां गलत हैं। मुझे लगता है कि यह महत्वपूर्ण है।
डेविड टैंजर

1
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler.Windows / mingw पर। वर्तमान में मेरे पास मेरे बॉक्स बॉक्स तक पहुँच नहीं है, लेकिन वहाँ भी काम करता है। वैसे भी, संकेत के लिए धन्यवाद!
डेविड टैन्ज़र

3
@ डेविड टैन्ज़र , आपका उत्तर सर्वश्रेष्ठ है, जबकि यह स्वीकार नहीं किया गया है। वास्तव में, एक संग्रह (जैसे विंडोज, लिनक्स, आदि) की उत्पत्ति महत्वपूर्ण है। मैंने लिनक्स ( ज़िप 3.0 , अनज़िप 6.00 ) पर परीक्षण किया है । एक बार जब एक फ़ाइल को एक संग्रह में डाल दिया जाता है तो अनुमतियाँ बच जाती हैं। और उन्हें निकाली गई फ़ाइल पर पुनर्स्थापित किया जा रहा है (उदाहरण के लिए जब फ़ाइल को लिनक्स पर निकाला जाता है)। जाहिर है, विंडोज बॉक्स पर निकालने के दौरान अनुमतियां लागू नहीं होंगी। यह वास्तव में एक विशिष्ट स्विच को अनज़िप में देखने के लिए अच्छा होगा (जैसे टार ' --no-same-permissions) जो अनुमतियाँ संरक्षित नहीं करता है और निकालने के दौरान umask का सम्मान करता है ।
flaz14

1
@DanielF अनुमतियाँ केवल तभी होती हैं यदि बनाने का कार्यक्रम उन्हें वहां रखा जाता है, इसलिए यदि आपका संग्रह विंडोज पर बनाया गया था, zipinfo/ unzip -Zकेवल अनुमान लगा सकता है। यह देखने के लिए कि क्या अनुमतियाँ हैं, का उपयोग करें zipinfo -v/ unzip -Zvऔर "गैर-एमएसडीओएस बाहरी फ़ाइल विशेषताओं" की तलाश करें; दो सबसे महत्वपूर्ण बाइट्स UNIX अनुमतियां हैं (हेक्स में, ऑक्टल नहीं!) बशर्ते कि "फाइल सिस्टम या ऑपरेटिंग सिस्टम ऑफ ओरिजिन" UNIX हो।
एलेक्स शिल्किन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.