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


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.