मुझे / var / और मीडिया को क्या अनुमति देनी चाहिए?


21

मैं समझता हूँ कि Magento के लिए कहते हैं / var और / मीडिया पर 700 फ़ोल्डरों के लिए और 600 फ़ाइलों के लिए, लेकिन जब मैं यह कर, यह मेरी साइट के कुछ अंशों टूट जाता है। मैं यह देखने के लिए उत्सुक हूं कि अधिकांश लोग इन फ़ोल्डरों के लिए किन अनुमतियों का उपयोग करते हैं।


तुमने ऐसा कहां पढ़ा? 700 के साथ?
फ्लोरिनसेल यह

जवाबों:


18

मैंने 700 और 600 का उपयोग करने के कई उल्लेख नहीं देखे हैं, लेकिन यह आमतौर पर अच्छी सलाह है। दुर्भाग्य से प्रत्येक सेट अप सर्वर अलग है और इसे सुविधा के विरुद्ध तौला जाना चाहिए (फ़ाइलों को अद्यतन / संपादित करने के लिए उपयोगकर्ता की पहुंच)।

अंतर्निहित दृष्टिकोण केवल जितना संभव हो उतना कम देने के लिए होना चाहिए और इसे जितना संभव हो उतना नीचे लॉक करना चाहिए (700/600 इसके लिए अच्छा है)। उस संबंध में विकी पर "आधिकारिक" सलाह यथासंभव परिस्थितियों पर लागू करना चाहती है और सुझाव देती है कि सभी के लिए अनुमतियाँ पढ़ें (जिसका अर्थ है कि सर्वर पर किसी भी अन्य समझौता किए गए सेवा को उदाहरण के लिए एप्लिकेशन / आदि / स्थानीय पढ़ने में सक्षम होना चाहिए। अपने डीबी विन्यास के साथ xml)।

आपके मामले में यह वर्तमान में लगता है कि फ़ाइलें आपके वेबसर्वर / php प्रक्रिया के तहत चलने वाले से भिन्न उपयोगकर्ता के स्वामित्व में हैं। वेबसर्वर के लिए फ़ाइलों के स्वामित्व को बदलना आपके मूल मुद्दे को हल करना चाहिए।

कृपया ध्यान दें कि वेबसर्वर के लिए 700/600 का उपयोग करना और फ़ाइलों को निर्दिष्ट करने का मतलब है कि आपका सामान्य उपयोगकर्ता फ़ाइलों को संपादित करने में सक्षम नहीं होगा।

नीचे मुझे लगता है कि सुविधा बनाम लॉक डाउन के लिए एक अच्छा समझौता है। सभी फाइलें उपयोगकर्ता के स्वामित्व में हैं: वेबसर्वरग्रुप

var और media 770/660
सर्वर और आपके उपयोगकर्ता को var और मीडिया फोल्डर (सेशन / कैश / इमेज) से पढ़ने और लिखने की अनुमति है।

बाकी 750/640
आपका उपयोगकर्ता कोड को संपादित / अपडेट करने में सक्षम है।
वेबसर्वर निष्पादन / प्रदर्शन के लिए फ़ाइलों को पढ़ने में सक्षम है।


2
लगभग दो साल बाद और मैं अब अपने स्वयं के उत्तर से अधिक इस बात से सहमत हूं।
१५'१५ को १ .:

मैंने महसूस किया कि मैंने कभी भी इस पर कोई प्रतिक्रिया नहीं दी और मैं जो मुद्दा बना रहा था वह यह था कि फाइलें वेबसर्वर के पास नहीं थीं। मैं एक मानक अभ्यास के अधिक प्राप्त करने के लिए अनुमतियों को साफ करने के लिए कह रहा था क्योंकि मैं विभिन्न चीजों को पढ़ रहा था।
इग्लोरी

18

सामान्य रूप से सभी फाइलें होनी चाहिए 644और सभी फ़ोल्डर्स होने चाहिए 755और आपके वेब सर्वर के तहत चलने वाले उपयोगकर्ता के स्वामित्व में होना चाहिएmageनिष्पादन दी जानी चाहिए 550अनुमतियों निष्पादन अनुमति देने के लिए।

यदि आपकी मेज़ रूट से चलती है तो इस शेल स्क्रिप्ट को चीजों को पैच करना चाहिए:

#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage

स्रोत: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions


5

जबकि फिल का समाधान अच्छा है मैं थोड़ा अलग दृष्टिकोण का उपयोग करता हूं। "Php / webserver उपयोगकर्ता" फ़ाइलों के मालिक बनाने के अलावा मैं अतिरिक्त समूह बनाता हूं। आमतौर पर इसे देव कहा जाता है । और मैं "php उपयोगकर्ता" और अपने आप को और अन्य डेवलपर्स को उस समूह देव में जोड़ता हूं । तब मैं chgrp करता हूं ताकि Magento प्रोजेक्ट सबट्री की सभी फाइलों में ग्रुप देव हो । मैं उन फ़ोल्डरों में + s जोड़ता हूं जो नए बनाए गए सबफ़ोल्डर्स को समान अनुमतियाँ सुनिश्चित करता है।

मैंने अपने fix_permissions.sh स्क्रिप्ट के साथ एक सार्वजनिक जिस्ट बनाया है। इसका उपयोग करने के लिए स्वतंत्र महसूस करें :) यह आपकी संपूर्ण मैगेंटो परियोजना को अच्छी अनुमतियों के साथ सबट्री रखने में आपकी मदद करता है।

https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh

मूल प्रश्न - var और मीडिया में ऐसी अनुमतियाँ होनी चाहिए कि "php उपयोगकर्ता" इन फ़ोल्डरों को पढ़ और लिख सके। यह var के अंतर्गत कैशे, सेशन फाइल्स आदि लिखने में सक्षम होना चाहिए और यह मीडिया के अंतर्गत प्रोडक्ट इमेज कैश और इमेजेस लिखने में सक्षम होना चाहिए। तो जैसा कि फिल सलाह देता है: इन को "php user" को chown या chgrp करें और "php user" को rw परमिशन दें।

मुझे लगता है कि FPM (CGI) के संदर्भ में "php उपयोगकर्ता" को संदर्भित करना अधिक सही है। वेबसर्वर उपयोगकर्ता पीएचपी चलाने वाले से अलग हो सकता है।


3
आप वेबसर्वर उपयोगकर्ता बनाम php उपयोगकर्ता के संबंध में शब्दावली के संबंध में बिल्कुल सही हैं। महान बिंदु। हालांकि, एक आश्चर्य करना पड़ता है अगर एक व्यक्ति पूछ अनुमतियों को परिवर्तित करने के लिए कैसे पता होगा कि क्या वे पीएचपी एफ पी एम या नहीं चल रहे थे ...
philwinkle

1

/ var - magento कैशे, सेशन आदि डेटा लिखने के लिए उपयोग करता है।

/ मीडिया - Magento का उपयोग उत्पाद छवि, श्रेणी छवि (किसी भी प्रकार की छवि) को अपडेट करने के लिए किया जाता है।

तो इन दो फ़ोल्डरों को आपको पढ़ने + लिखने की अनुमति का उपयोग करना चाहिए। अन्य फ़ाइल आपको रीड + एक्ज़ीक्यूशन अनुमति का उपयोग करना चाहिए।


1

फ़ाइल अनुमति 644 है। ssh का उपयोग करके रूट डायरेक्टरी में कोड नीचे चलाएं। खोजो।

-type f -exec chmod 644 {} \;

फ़ोल्डर की अनुमति 755 है। ssh का उपयोग करके रूट डायरेक्टरी में कोड नीचे चलाएं। खोजो।

-type d -exec chmod 755 {} \;

Var फ़ोल्डर अनुमति 777 है। ssh का उपयोग करके रूट निर्देशिका में कोड के नीचे चलाएँ।

chmod -R 777 var

स्टेटिक फ़ोल्डर की अनुमति 777 है। ssh का उपयोग करके रूट डायरेक्टरी में कोड नीचे चलाएं।

chmod -R 777 pub/static

मीडिया फ़ोल्डर अनुमति 777 है। ssh का उपयोग कर रूट निर्देशिका में कोड के नीचे चलाएँ।

chmod -R 777 pub/media

2
ऊपर क्या ओपी पूछा नहीं है, यह है Magento Magento 1.7 के लिए नहीं 2.x के लिए
फ्रैंक Groot

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.