পানীয় এবং ব্যবহারকারীর অনুমতি


10

আমি দেখতে পাচ্ছি যে আমার ব্যবহারকারী অ্যাপাচি গ্রুপের সদস্য। আমি নিম্নলিখিতটির মাধ্যমে যুক্ত এবং নিশ্চিত হয়েছি

$ sudo usermod -a -G apache `whoami`  # add my user to apache group
$ sudo chmod -R g+w .                 # permit group members to write 
$ groups `whoami`                     # confirm I'm in the apache group

যাইহোক, যখন আমি কোনও ড্রাশ আপডেট কোর বা এমনকি ড্রশ ক্রোন চালানোর চেষ্টা করি

$ drush cc all

unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning]
Permission denied file.inc:482

এখানে চিত্র বর্ণনা লিখুন

এবং এই পরিস্থিতিতে সিএসএস ক্যাশে দেখতে দেখতে looks

$ ll
total 1536
drwxrwxr-x.  2 apache apache  12288 Nov 26 10:12 .
drwxrwxr-x. 11 apache apache   4096 Nov 24 20:35 ..
-rw-rw-r--   1 apache apache 162269 Nov 26 10:06 css_00d5f4d7c5c92cd4f.css
-rw-rw-r--   1 apache apache 158090 Nov 26 10:02 css_0605989692a2119d305.css
-rw-rw-r--   1 apache apache 162269 Nov 26 10:02 css_0779dcac71ee9aa8e02d9e.css

এখানে চিত্র বর্ণনা লিখুন

আমি ধরে নেব যে আমার ব্যবহারকারীর অ্যাকাউন্টটিতে সুডো অ্যাক্সেস রয়েছে, এটি অ্যাপাচি (বা www-ডেটা) এর একটি গ্রুপ সদস্য হওয়া উচিত এবং ফাইল ট্রিটি গ্রুপ লেখার অ্যাক্সেসের অনুমতি দেয়। সঠিক দিকনির্দেশে যে কোনও সহায়তা বা পয়েন্টগুলি প্রশংসিত হবে।


2
newgrp apacheসুডো ছাড়াই চালান এবং আবার চেষ্টা করুন
হামিদ নিকমেহর

2
আপনি কি লগ আউট করে আবার ফিরে এসেছেন?
এমপিডোনাদিও

উত্তর:


13

তর্কসাপেক্ষভাবে, আরও সহজবোধ্য পদ্ধতি হ'ল আপনার ব্যবহারকারীর গ্রুপ অ্যাসাইনমেন্টটি একেবারে উপদ্রব না করা এবং পরিবর্তে ওয়েব সার্ভার ব্যবহারকারী হিসাবে ড্রাশ চালানো (যেমন: অ্যাপাচি, www-ডেটা)।

সুডো ব্যবহার করুন:

sudo -u apache drush

বা ডেবিয়ান / উবুন্টুতে:

sudo -u www-data drush

একটি কমান্ড ওরফে তৈরি করুন:

তারপরে, আপনি সর্বদা ড্রাশ চালানোর বিষয়টি নিশ্চিত করতে একটি উপনাম যুক্ত করুন:

echo "alias drush='sudo -u apache drush'" >> ~/.bash_aliases 

বা ডেবিয়ান / উবুন্টুতে:

echo "alias drush='sudo -u www-data drush'" >> ~/.bash_aliases 

এখন কোনও ড্রাশ কমান্ড চালানোর সময়, আপনাকে sudo দ্বারা আপনার পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে, এবং কমান্ডটি ওয়েব সার্ভার ব্যবহারকারী হিসাবে চলবে। ফাইলগুলি পড়তে এবং লেখার জন্য আর কোনও অনুমতিের সমস্যা নেই।


1
আমি যখন "sudo -u www-data ড্রাশ" চালাই তখন এটি অভিযোগ করে যে ড্রশ-ব্যাকআপ ডিরেক্টরিটি লেখার যোগ্য নয়।
চৌম্বকীয়

1
@ ম্যাজমেটিক কেবল সেই ফোল্ডারে অনুমতি পরিবর্তন করুন, এটিকে www-ডেটার জন্য লেখার যোগ্য করে দিন, মালিক কে তা পরীক্ষা করুন।
বেটো আভেগা

3

যদিও অন্য উত্তরটি তথ্যপূর্ণ, তবে আমি এখন বর্ণিত হিসাবে যথাযথ ব্যবহারকারীর অনুমতি ব্যবহার করি

ফাইল অনুমতি এবং মালিকানা সুরক্ষিত

যা দিয়ে খোলে

সার্ভার ফাইল সিস্টেমটি কনফিগার করা উচিত যাতে ওয়েব সার্ভারের (যেমন অ্যাপাচি) ফাইলগুলি সম্পাদনা করতে বা লেখার অনুমতি না থাকে যা তারপরে চালিত হয়। এটি হ'ল, আপনার সমস্ত ফাইল অ্যাপাচি প্রক্রিয়াটির জন্য 'কেবল পঠনযোগ্য' হওয়া উচিত এবং পৃথক ব্যবহারকারীর দ্বারা লেখার অনুমতি থাকা উচিত।


3
আপনি যে নিবন্ধটির সাথে লিঙ্ক করেছেন তাতে দ্রাশের উল্লেখ নেই। আপনি কি দয়া করে স্পষ্ট করে বলতে পারবেন যে আপনি কোন ব্যবহারকারীকে ড্রাশ কমান্ডগুলি চালাতে ব্যবহার করছেন এবং সেই ব্যবহারকারী কীভাবে সেট আপ করছেন।
জেডাব্লু

2
মজাদার! আমি মনে করি যে আপনি ইতিমধ্যে উদ্ধৃত দুটি অনুসরণ করে তারও উল্লেখ করা উচিত ...
পিয়ের.ভ্রিয়েন্স

1
ড্রুপাল ফাইল ফোল্ডারে ওয়েব সার্ভারের দ্বারা লিখনযোগ্য হওয়া দরকার এবং বিকাশে আপনার সম্ভবত বৈশিষ্ট্য ফোল্ডারের জন্য এটিও প্রয়োজন হবে।
বেটো আভিগা

1

আমি যখন ড্রাশ www-dataচালিয়েছিলাম তখন আমার $ PATH পরিবর্তিত হওয়ায় ড্রাশ আর পাওয়া যায় না

কর্মপরিকল্পনা হিসাবে আপনি ড্র্যাশ পুরো পথ প্রবেশ করতে পারেন।

যেমন

sudo -u www-data /home/vagrant/.composer/vendor/bin/drush status

আপনার ড্রাশের পথ পেতে আপনি চালাতে পারেন:

which drush

যার অর্থ আপনি কেবল চালাতে পারেন:

sudo -u www-data `which drush` status

যা কমান্ডের পাথরে হার্ড কোড করার প্রয়োজনীয়তা সরিয়ে দেয়।

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