সুডো ব্যবহার না করেই সুরকার চালাচ্ছেন (পরিবর্তিত মালিক এবং অনুমতি ব্যবহারের চেষ্টা করেছেন)


13

প্রতিবার আমি সুরকার চালাচ্ছি (যেমন, sudo composer install, sudo composer self-updateইত্যাদি) ফাইলটির মালিক মূল হওয়ায় আমার এটি sudo দিয়ে চালানো দরকার।

যাইহোক আমি যখনই sudo মূলের সাথে সুরকারটি ব্যবহার করি তখন বিক্রেতা ফোল্ডারের মালিক হয় এবং তারপরে আমাকে সেই ফোল্ডার / সুবিধাগুলির মালিককে রুট থেকে www-ডেটাতে পরিবর্তন করতে হবে।

এটি ঠিক করার সর্বোত্তম উপায় কী তাই আমাকে প্রতিবার সুডো চালাতে হবে না?

/usr/local/bin/composerমূল থেকে www-ডেটাতে মালিক পরিবর্তন করবেন ?

মালিকানা পরিবর্তন করতে এবং প্রতিবার আমি সুডো ব্যবহার করার অনুমতি নির্ধারণ না করে এড়াতে কি এটি পরিচালনা করার আদর্শ উপায় composer install?

সম্পাদনা করুন: সুরকারের জন্য অনুমতিগুলি বর্তমানে রয়েছে -rwxr-xr-x। এবং আমি 775-এ সেট করা অনুমতি /usr/local/bin/composerনিয়ে মালিককে ওপরে স্যুইচ করার চেষ্টা করেছি www-data:www-dataএবং এখনও আমি চালানো ছাড়া সুরকার চালাতে পারি না sudo

উত্তর:


9

যদি "প্রত্যেককে" রচয়িতা পড়তে এবং চালানোর অনুমতি দেওয়া হয়, আপনার sudo ব্যবহার করার দরকার নেই:

sudo chmod 755 /var/local/bin/composer

যেহেতু আপনি কমপক্ষে একবার হিসাবে সুরকারকে মৃত্যুদন্ড কার্যকর করেছেন root, তাই রচয়িতা (প্রতি ব্যবহারকারী-) ক্যাশে ডিরেক্টরিটি এখন রুটের মালিকানাধীন এবং তাই আপনার সাধারণ ব্যবহারকারীর দ্বারা এটি লেখার যোগ্য নয়।

sudo chown -R lamp:lamp /home/lamp/.composer

ফাইল-মালিককে ঠিক করে দেবে।


আমি এটি চেষ্টা করেছি এবং আমি এখনও composer self-updatesudo ব্যবহার না করে চালাতে পারছি না । আমার কি 775 ব্যবহার করা দরকার?
ঘূর্ণিঝড়গুলি চালনা করুন

ওয়েল স্ব-আপডেট 755 এর সাথে কাজ করবে না তবে এই বিষয়টি কি? স্ব-আপডেট এমন কোনও কিছুই নয় যা আপনার প্রতিদিন চালানো দরকার, কেবল প্রতি 2 সপ্তাহ বা তার পরে এটি অবশ্যই আপডেট করুন (অবশ্যই সুডো সহ)।
tkausl

চেষ্টা করা হয়েছে composer updateএবং এটি সেই অনুমতিগুলির সাথেও কাজ করে না। আমাকে এখনও প্রথমে সুডো ব্যবহার করতে হবে। এটি আমি পেয়েছি এমন ত্রুটিfile_put_contents(/home/lamp/.composer/cache/repo/https---packagist.org/packages.json): failed to open stream: Permission denied
ঘূর্ণি সওয়ার করুন

ওহ, হ্যাঁ, আপনি ইতিমধ্যে আপনার কয়েকটি ডিপো আপডেট করার জন্য "sudo" ব্যবহার করেছেন, আমি মনে করি "/home/lamp/.composer/" মূলের মালিকানাধীন, কেবল এই ফোল্ডারটি মুছুন (এটি কেবল একটি ক্যাশে), তারপরে এটি ছাড়া কাজ করা উচিত উবুন্টু। (বা মালিকানা পরিবর্তন করুন chown -R lamp:lamp /home/lamp/.composer)
tkausl

এটি কৌশলটি করেছে, মালিককে প্রদীপে পরিণত করতে চলেছে। আপনি কি আপনার উত্তর আপডেট করতে পারবেন এবং আমি তা গ্রহণ করব? ধন্যবাদ তাকস্ল
ঘূর্ণিঝড়টিতে

5

আমি কয়েক সপ্তাহ ধরে এই সমস্যাটি নিয়ে কাজ করছি।

আমি মনে করি সমাধানটি সুরকার -H এর সাথে স্ব-আপডেট চালানো run

sudo -H composer self-update

এটি করার আগে রুটটিতে। কমপোজার ডিরেক্টরিগুলি এবং আপনি যে ব্যবহারকারীটির সুরকার সম্পাদন করতে চান তার হোম ডিরেক্টরিটি মুছে ফেলার বিষয়ে নিশ্চিত হন।

sudo rm -rf /root/.composer
sudo rm -rf /home/ubuntu/.composer

-H পতাকা ব্যতীত সুডো সুরকার স্ব-আপডেট চালানো root / .composer তৈরি করবে যা মূলের মালিকানাধীন এবং অন্যান্য সুরকারের আদেশগুলি অনুমতি ত্রুটিগুলি রোধ করবে।

composer config
composer install 

আমার মতে কল করা সুডো সুরকার স্ব-আপডেটে বর্তমান ব্যবহারকারীদের হোম ডিরেক্টরিতে রুটের মালিকানাযুক্ত ফাইলগুলি তৈরি করা উচিত নয়।

আপনি যদি উবুন্টু 14.04-র এই নির্দেশাবলী অনুসরণ করেন তবে সুরক্ষক ক্যাশে এতে রাখবেন:

 ~/.cache/composer

বরং:

~/.composer/cache

এটি উবুন্টু 14.04-এ সংজ্ঞায়িত XDG_RUNTIME_DIR এনভায়রনমেন্ট ভেরিয়েবলের কারণে তবে উবুন্টু 12.04 এ সংজ্ঞায়িত বলে মনে হয় না

এখানে সম্পর্কিত একটি আলোচনা


আপনি যদি ইতিমধ্যে সুরকারের বর্তমান সংস্করণটি চালাচ্ছেন তবে এটি কোনও সাহায্য করবে না। $ sudo -H composer self-update $ You are already using composer version 1.3.0 (stable channel).
ক্রাগমনকি

@ ক্রাগমোনকি - আমি সুরকারের সর্বশেষতম সংস্করণটি চালিয়ে যাচ্ছিলাম তবে কেবল ~/.composerফোল্ডারটি সরিয়ে ফেললে সমস্যার সমাধান হবে বলে মনে হচ্ছে।
সাইক্লোনকোড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.