Magento 2 ফোল্ডার / ফাইল অনুমতি


61

আমার সন্দেহ হয় যে অনুমতিগুলি আমার ম্যাজেন্টো 2 ইনস্টলেশনতে গণ্ডগোল করেছে। পুরানো সংস্করণে আমি ফোল্ডারগুলি 755 এবং ফাইলগুলি 644 তৈরি করতে নিম্নলিখিত কমান্ডটি চালাব:

find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \;

আপনি কি দয়া করে আমাকে জানাবেন যে সঠিক ফাইল এবং ফোল্ডার অনুমতিগুলি ম্যাজেন্টো 2 এর জন্য আলাদা বলে মনে হচ্ছে সেগুলির জন্য কি? এছাড়াও, যদি এমন কোনও নির্দিষ্ট ফোল্ডার বা ফাইল থাকে যাগুলির জন্য পৃথক অনুমতি প্রয়োজন।


ব্যাকআপ নেওয়ার আগে 777 অনুমতি ব্যবহার করে দেখুন
ম্যাজেন্টো 2

আমার সার্ভারের পিএইচপি হ্যান্ডলারটি এসপিএইচপি এবং আমি বাস্তবিকভাবে কারও কাছে আমার ওয়েবসাইটটি খুলতে হবে তাই আমি সবকিছুর জন্য 7 777 নির্ধারণ করতে চাই না। আরও কি নির্দিষ্ট অনুমতি দেওয়া যেতে পারে?
নেকয়

Magento 775 থেকে এবং ফাইল 644 সেট অনুমতির জন্য ফোল্ডার ফাইল অনুমতি আপনার
Rishabh আর কে রাই

এফওয়াইআই, যদি ম্যাজেন্টো 2 একটি "হোম" ডিরেক্টরিতে থাকে var/cacheএবং তার pub/staticজন্য সুইড বিট সেট প্রয়োজন need আমি ব্যবহার করেছি: find var/cache -type d -print0 | xargs -0 sudo chmod 1775
ক্রিস কে

উত্তর:


117

আপনি http://devdocs.magento.com/ উল্লেখ করতে পারেন

গুরুত্বপূর্ণ বিষয়গুলি:

ম্যাজেন্টো ফাইল সিস্টেমের মালিক: সমস্ত ফাইল এবং ডিরেক্টরিগুলির সম্পূর্ণ নিয়ন্ত্রণ থাকতে হবে (পড়ুন / লিখুন / চালান)।

ওয়েব সার্ভার ব্যবহারকারী হওয়া উচিত নয়; এটি আলাদা ব্যবহারকারী হওয়া উচিত।

ওয়েব সার্ভার ব্যবহারকারীর অবশ্যই নিম্নলিখিত ফাইল এবং ডিরেক্টরিতে লিখিত অ্যাক্সেস থাকতে হবে: var অ্যাপ্লিকেশন / ইত্যাদি পাব (এবং সম্ভবত 2.2.1 এ নতুন :) তৈরি হয়েছে

তদ্ব্যতীত, ওয়েব সার্ভারের গোষ্ঠীটি অবশ্যই ম্যাজেন্টো ফাইল সিস্টেমের মালিক হতে হবে যাতে ম্যাজেন্টো ব্যবহারকারী (যিনি গ্রুপে আছেন) ওয়েব সার্ভার ব্যবহারকারীর সাথে ফাইলগুলিতে অ্যাক্সেস ভাগ করতে পারে। (এতে ম্যাজেন্টো অ্যাডমিন বা অন্যান্য ওয়েব-ভিত্তিক ইউটিলিটিগুলি তৈরি করা ফাইল অন্তর্ভুক্ত রয়েছে))

আমরা নীচে অনুমতিগুলি সেট করার পরামর্শ দিচ্ছি:

All directories have 770 permissions.

770 permissions give full control (that is, read/write/execute) to the owner and to the group and no permissions to anyone else.

All files have 660 permissions.

660 permissions mean the owner and the group can read and write but other users have no permissions.

আপনার উচিত সুপারিশকৃত হিসাবে সেট করা উচিত।

cd <your Magento install dir> 

find . -type f -exec chmod 644 {} \;                        // 644 permission for files

find . -type d -exec chmod 755 {} \;                        // 755 permission for directory 

find ./var -type d -exec chmod 777 {} \;                // 777 permission for var folder    

find ./pub/media -type d -exec chmod 777 {} \;

find ./pub/static -type d -exec chmod 777 {} \;

chmod 777 ./app/etc

chmod 644 ./app/etc/*.xml

chown -R :<web server group> .

chmod u+x bin/magento

আমি আশা করি এটা তোমাকে সাহায্য করবে।


3
এটি কেবলমাত্র আমার সাথে কাজ করে \;, উদাহরণস্বরূপ:find ./var -type d -exec chmod 777 {} \;
11:44

1
তবে এটি ডেভলপমেন্ট মোডের জন্য। উত্পাদনের জন্য এটি গ্রুপ-পঠনযোগ্য হওয়া উচিত
অ্যালেক্স

3
আমি মনে করি chmod u+x bin/magentoআপনারও কনসোল কমান্ডগুলি কার্যকর করতে সক্ষম হওয়া দরকার ।
ভলভক্স

42
বন্ধুরা বন্ধুরা 777
ড্যারেন ফেল্টন

6
অ্যাপ্লিকেশন / ইত্যাদি 777> হাহা দুর্দান্ত। সহজ হ্যাকযোগ্য। অ্যাপ্লিকেশন / ইত্যাদিতে আপনার ডিবি সম্পর্কিত তথ্য রয়েছে
কমপ্যাক্টকোড

19

কিছু বিরল ক্ষেত্রে, আপনি 7070০ এবং 6060০ ব্যবহার করতে পারবেন না, যেমন @ ম্যাজেনএক্স বলছে, 5৫৫ এবং 4৪৪ আপনার প্রয়োজনের অনুমতিও হতে পারে। (আমি অনুমান করি কিছু দ্রুত-সিজিআই ব্যবহারকারী)

সেক্ষেত্রে আপনি চালান:

find . -type d -exec chmod 755 {} \; && find . -type f -exec chmod 644 {} \; && chmod u+x bin/magento

এটি এটি সংশোধন করে বলে মনে হচ্ছে, তবে যদি ম্যাজেন্টো নতুন ফাইল বা ডিরেক্টরি উত্পন্ন করে তবে তাদের আবার 770০ এবং 6060০ এর অনুমতি থাকবে। আপনি নিম্নলিখিত ফাইলগুলিতে এই ডিফল্ট chmod মানগুলি সম্পাদনা করতে পারেন:

/vendor/magento/framework/Filesystem/DriverInterface.php 
(WRITEABLE_DIRECTORY_MODE and WRITEABLE_FILE_MODE)

/lib/internal/Cm/Cache/Backend/File.php 
(directory_mode and file_mode)

এই পরিবর্তনগুলির পরে, প্রথম কমান্ডটি আবার চালান এবং তারপরে, নতুন উত্পন্ন ফাইলগুলি আর সমস্যা হওয়া উচিত নয়।

দ্রষ্টব্য: এই জাতীয় ফাইলগুলি সম্পাদনা করা কখনই ভাল ধারণা নয় তবে আমি সন্দেহ করি যে এই chmod বিকল্পগুলি ভবিষ্যতে কনফিগারযোগ্য হতে চলেছে, তাই আমি সহজ উপায়টি গ্রহণ করেছি।


1
এম 231- তে
স্নেহ_এনএল

@ এসএনএইএন_এনএল আরও নতুন ম্যাগেন্টো সংস্করণে, তারা যদি অনুমতি দেয় তবে আর সেট করে না, মনে হচ্ছে তারা 775 ব্যবহার করে a একটি নতুন ইনস্টলেশন করার পরে আপনি কেবল চালাতে পারবেন: সন্ধান করুন। -type f -exec chmod 664 {} \; খুঁজে। -type d -exec chmod 775 {} \; সন্ধান করুন ./var -type d -exec chmod 777 {} \; সন্ধান করুন ./pub/media -type d -exec chmod 777}} \; সন্ধান করুন ./pub/static -type d -exec chmod 777}} \; chmod 777 ./app/etc chmod 644 ./app/etc/*.xml chmod u + x bin / magento মূলে এবং আপনার ভাল হওয়া উচিত।
ড্যানিয়েল ভ্যান ডের গার্ডে

11

আপনি ম্যাজেন্টো ডকুমেন্টেশনগুলির পরামর্শ মতো পদ্ধতিটি ব্যবহার করতে পারেন :

find . -type f -exec chmod 664 {} \;
find . -type d -exec chmod 775 {} \;
find var pub/static pub/media app/etc -type f -exec chmod g+w {} \;
find var pub/static pub/media app/etc -type d -exec chmod g+ws {} \;
chmod u+x bin/magento

উইন্ডোতে উত্পন্ন ফোল্ডারে লেখার অনুমতি কীভাবে দেওয়া যায়? @Rafael কোড়িয়া গোমেজ
zus

8
sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento

স্থানীয় বিকাশের জন্য pubএবং var775 বা 777 এ সেট করুন


কেন? (একটি মন্তব্যের দৈর্ঘ্যে সর্বনিম্ন রয়েছে)
ভিটোরিওডেফ

7

আপনি যদি সেলইনক্স ̣ ব্যবহার করছেন (উদাহরণস্বরূপ CentOS) চেষ্টা করুন:

sudo chcon -R -t httpd_sys_rw_content_t var

(অবশ্যই ম্যাজেন্টো মূল ফোল্ডার থেকে)


6

Magento সম্প্রদায় সুপারিশ

আমরা নীচে অনুমতিগুলি সেট করার পরামর্শ দিচ্ছি:

সকল ডিরেক্টরি আছে 770 অনুমতি। 770 অনুমতিগুলি মালিককে এবং গোষ্ঠীকে সম্পূর্ণ নিয়ন্ত্রণ দেয় (এটি হ'ল পড়ুন / লিখুন / সম্পাদন করুন) এবং অন্য কাউকে অনুমতি নেই।

সকল ফাইল আছে 660 অনুমতি। 660 অনুমতিগুলির অর্থ মালিক এবং গোষ্ঠীটি পড়তে এবং লিখতে পারে তবে অন্যান্য ব্যবহারকারীর কোনও অনুমতি নেই।

আরও রেফারির জন্য এই লিঙ্কটি https://devdocs.magento.com/guides/v2.3/install-gde/prereq/file-s systemm- perms.html


4

4

এই সামগ্রীটি আপনার মূল ফোল্ডারের ভিতরে রাখুন, তারপরে এটি কনসোল দিয়ে চালিত করুন।

করতে ভুলবেন দিই chmod +x yourfile.sh

#!/bin/sh
chmod 2775 -R .

chmod 777 -R ./pub/

chmod 777 -R ./var/

আমি এই কোডটি কীভাবে রাখতে পারি? htacces বা php ফাইল হিসাবে
matinict

এটি এড়ান, এটি মূলত আপনার ওয়েবসার্ভার ডিরেক্টরিটি জনসাধারণের জন্য উন্মুক্ত করে দিচ্ছে। পরিবর্তে আপনার চলমান সংস্করণটি যথাযথভাবে সুরক্ষিত করতে ম্যাজেন্টো দ্বারা প্রদত্ত ডিভডোকগুলি পড়ুন।
themanWoknowstheman

4

কোনও বিশেষ অনুমতি নেই, আপনি কেবল নিশ্চিত করে নিন যে পিএইচপি চালায় এমন ব্যবহারকারী বা সিপ্যানেলের ক্ষেত্রে সিপেনেল ব্যবহারকারী এবং একই গ্রুপের মালিকানাধীন ফাইলগুলি

সুতরাং আপনার আদেশ ভাল:

find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \;

কেবলমাত্র ফাইলের মালিক আপডেট করুন:

chown -R user:user *

userমালিক কোথায় , userপিএইচপি চালায়?

প্রতিটি সময় অনুমতি পরিবর্তনের পরিবর্তে, লগইন / সঠিক ব্যবহারকারী, ফাইলের মালিক, রুট থেকে ব্যবহারকারী হিসাবে কাজ করুন:

cd /magento/root/folder/
su $(stat -c '%U' index.php) -s /bin/bash
whoami
pwd

উইন্ডোতে উত্পন্ন ফোল্ডারে লেখার অনুমতি কীভাবে দেওয়া যায়? @ ম্যাজেনএক্স
26

3
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php

এছাড়াও বিস্তারিত তথ্য পাওয়া যায়, http://devdocs.magento.com/guides/m1x/install/installer-privileges_ after.html


5
প্রশ্নে ম্যাজেন্টো 2
ফ্লিপমিডিয়া

0

আমি প্লেস অনিক্স 17.8.11 এ সেন্টোজ লিনাক্স 7.4.1708 এর জন্য এইভাবে সমাধান করেছি

find . -type f -exec chmod 644 {} \; &&  find . -type d -exec chmod 755 {} \; && find ./var -type d -exec chmod 777 {} \; && find ./pub/media -type d -exec chmod 777 {} \; && find ./pub/static -type d -exec chmod 777 {} \; && chmod 777 ./app/etc  && chmod 644 ./app/etc/*.xml

chown -R :<web server group> .

ফাইল এবং ডিরেক্টরিতে আপনার 777 ব্যবহার করা এড়ানো উচিত। এটি আপনার দোকানটি অপ্রয়োজনীয় সুরক্ষা ঝুঁকিতে উন্মুক্ত করে। পরিবর্তে, আপনার চলমান সংস্করণটির জন্য ম্যাজেন্টো দ্বারা সরবরাহ করা দস্তাবেজগুলি পড়ুন।
themanWoknowstheman

0

রুট ব্যবহারকারী হিসাবে এই কমান্ডগুলি প্রয়োগ করুন। আপনি যদি ইতিমধ্যে 7 777 টি অনুমতি দিয়ে থাকেন তবে প্রথম দুটি কমান্ড ব্যবহার করে এটিকে ফিরিয়ে আনুন বাকীটি দিয়ে এগিয়ে যান।

find . -type f -exec chmod 664 {} \;

find . -type d -exec chmod 775 {} \;

find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +

find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +

Magento ব্যবহারকারী এবং ওয়েব ব্যবহারকারী ব্যবহার করে মালিকানা সেট করুন

sudo chown -R <Magento user>:<web server group> .

এই কমান্ডগুলি চালনা করে ম্যাজেন্টো মূলের ফোল্ডার এবং ফাইলগুলির জন্য এবং নতুন ফাইলগুলি ভার, পাব এবং উত্পন্ন ডিরেক্টরিতে তৈরি করার অনুমতি নির্ধারণ করে।

রুট ইউজার হিসাবে কোনও কমান্ড চালাবেন না কারণ এটি রুট মালিকানার সাথে নতুন স্থিতিশীল ফাইল তৈরি হতে পারে যা ওয়েব ব্যবহারকারীকে এই জাতীয় ফাইলগুলিতে অ্যাক্সেস করতে বাধা দিতে পারে যা আপনাকে 777 অনুমতি প্রদান করতে বাধ্য করে। দয়া করে কোনও ক্ষেত্রে 77 777 অনুমতি না দিলে দয়া করে তাই প্রত্যাবর্তন দয়া এটি চালানোর back.So Magento যেমন কমান্ড Magento ব্যবহারকারী

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.