Zsh অনুমতি অস্বীকৃত হল একটি ত্রুটি যা ঘটে যখন আপনি Linux বা Mac-এ একটি কমান্ড চালানোর চেষ্টা করেন যেখানে আপনার মৃত্যুদন্ডের অনুমতি নেই। কমান্ডটি এমন একটি ডিরেক্টরিতে একটি 'ls' সম্পাদন করার মতো সোজা হতে পারে যার জন্য আপনার কাছে লেখার অনুমতি নেই বা এমন একটি স্ক্রিপ্ট চালানো যা আপনার ব্যবহারকারীর করার অনুমতি নেই এমন কাজগুলি সম্পাদন করে। অনুমতি দ্বারা, আমরা পড়ার বা লেখার অনুমতি উল্লেখ করি৷
৷
আসুন এই ত্রুটির মূল কারণটি একবার দেখে নেওয়া যাক, তারপর কোনটি সবচেয়ে ভাল কাজ করে তা দেখতে আমরা প্রতিটি সমাধান চেষ্টা করতে পারি৷
প্রধানত এই ত্রুটিটি ঘটে যখন আপনার কাছে ফাইলটি চালানো, লেখা বা পড়ার অনুমতি নেই৷
ধরুন আমরা একটি লিনাক্স অপারেটিং সিস্টেমের একটি Zsh শেলের ভিতরে আছি এবং আপনি 'cat' ব্যবহার করে একটি ফাইলের বিষয়বস্তু তালিকাভুক্ত করার চেষ্টা করছেন, কিন্তু আপনি একটি 'অনুমতি অস্বীকার' ত্রুটি পেয়েছেন৷
এখন এই ত্রুটিটি ঠিক করার জন্য, প্রথমে আমাদের ফাইলের অনুমতিগুলি তালিকাভুক্ত করতে হবে। আমরা “ls -l” চালাই অনুমতি দেখতে।
আপনি দেখতে পাচ্ছেন, অনুমতিগুলি এমন যে শুধুমাত্র রুট ব্যবহারকারী এবং রুট গ্রুপ ফাইলটি পড়তে পারে, যখন রুট ব্যবহারকারী শুধুমাত্র ফাইলটিতে লিখতে পারে।
1. sudo
ব্যবহার করুনএটি ঠিক করতে, সবচেয়ে সহজ সমাধান হবে 'sudo' ব্যবহার করা কমান্ড দিয়ে আমরা চালাতে চাই। এটি রুট ব্যবহারকারী হিসাবে কমান্ডটি কার্যকর করবে। আপনার ক্ষেত্রেও, আপনি 'sudo' ব্যবহার করতে পারেন যখন আপনি নিশ্চিত হন যে আপনি যে কমান্ডটি চালাতে চান বা যে কাজটি চালাতে চান তা আপনার কম্পিউটারের ক্ষতি করবে না৷
আমরা এভাবে চালাতে পারি:
sudo cat file
2. ফাইল বা ফাইলের অনুমতি পরিবর্তন করুন
আমরা যা করতে পারি তা হল ফাইলের অনুমতি পরিবর্তন করা। যেহেতু অনুমতি অস্বীকার করা ত্রুটি সাধারণত পড়ার বা লেখার অনুমতির কারণে হয়, আমরা সেই নির্দিষ্ট ফাইল বা ফাইলগুলির অনুমতি পরিবর্তন করতে পারি।
'ls -l' কার্যকর করার মাধ্যমে ডিরেক্টরির ভিতরে যেখানে ফাইলটি অবস্থিত, আমরা দেখতে পারি যে ফাইলটির মালিক এবং গ্রুপ রুট।
আমরা মালিককে আমাদের ব্যবহারকারীতে পরিবর্তন করতে পারি এবং তারপর ফাইলটির সাথে যা করতে চাই তা করতে পারি।
আমরা চালাতে পারি:
সুডো chown [ব্যবহারকারী] [ফাইল-নাম]
আমাদের উদাহরণে, যেহেতু v3n0m ব্যবহারকারী হিসেবে আমরা লগ ইন করেছি, তাই আমরা কমান্ডটি এইভাবে জারি করব:
sudo chown v3n0m file
v3n0m এখানে আমাদের ব্যবহারকারী। আপনার ক্ষেত্রে এটি আপনার ব্যবহারকারীর নাম হবে।
এখন, আমরা ফাইলটিতে বিড়াল চালাতে পারি কারণ এটি আমাদের আর অনুমতি অস্বীকার ত্রুটি দেবে না .
3. এক্সিকিউট পারমিশন সক্রিয় করুন
আপনি ./ ব্যবহার করতে পারেন একটি ফাইলের নাম দিয়ে zsh বা অন্যান্য শেল একটি প্রোগ্রাম হিসাবে একটি ফাইল চালানোর জন্য। কিন্তু যদি কোনো ফাইলে এক্সিকিউট পারমিশন সেট করা না থাকে, তাহলে এটি আপনাকে zsh :permission denied error দেবে।
ধরা যাক আমরা স্ক্রিপ্ট 1 নামে একটি স্ক্রিপ্ট চালাতে চাই। আমরা আমাদের টার্মিনালে ./script1 টাইপ করি এবং এটি আমাদের এই ত্রুটি দেয়:
আমরা অনুমতি দেখতে ফাইলে ls -la করি। আপনি দেখতে পাচ্ছেন ফাইলটিতে এক্সিকিউট পারমিশন সেট করা নেই।
এখানে সমাধান সহজ, ফাইলে এক্সিকিউট পারমিশন যোগ করুন।
আমরা একটি সাধারণ কমান্ড জারি করি
chmod +x script1
chmod +x এক্সিকিউট বিট যোগ করবে মালিক, গোষ্ঠী এবং অন্যদের জন্য ফাইলের অনুমতিতে।
এখন আমরা ./script1 টাইপ করে ফাইলটিকে প্রোগ্রাম হিসাবে চালাতে পারি কোনো ত্রুটি ছাড়াই।
আপনি যদি লিনাক্সে এটির সম্মুখীন হন তবে এটির সমাধান করা উচিত, তবে, আপনি যদি MacOS বা Gradle-এর এই ত্রুটির সম্মুখীন হন তবে নিবন্ধটি অনুসরণ করুন৷
আপনার zshrc ফাইল (macOS) সম্পাদনা করুন
কিছু ব্যবহারকারী তাদের MacOS-এ zsh ব্যবহার করে রিপোর্ট করেছেন যখন তারা ডিরেক্টরির ভিতরে থাকে না যেখান থেকে তারা একটি কমান্ড চালাতে চায়।
আপনি যদি একটি অনুরূপ সমস্যার সম্মুখীন হন, তাহলে এটির সমাধান সত্যিই সহজ।
আপনাকে আপনার zshrc ফাইল সম্পাদনা করতে হবে আপনার হোম/ব্যবহারকারীর নাম-এ ডিরেক্টরি এবং ফাইলের শেষে এটি যোগ করুন।
setopt auto_cd
এটি zsh-এ auto_cd বিকল্পটিকে সক্রিয় করবে৷ .
সম্পাদনা করার জন্য .zshrc ফাইল, আপনি যেকোনো গ্রাফিকাল টেক্সট এডিটর বা কমান্ড লাইন টেক্সট এডিটর যেমন vim বা vi ব্যবহার করতে পারেন।
অনুমতি সেট করতে CHMOD কমান্ড ব্যবহার করুন (Gradle)
আপনি gradle এ কাজ করলে এবং gradlew ফাইলের সঠিক অনুমতি না থাকলে Zsh অনুমতি অস্বীকার করা ত্রুটি ঘটতে পারে।
এই ধরনের ত্রুটি ঠিক করার জন্য, আপনাকে gradlew-এ সঠিক অনুমতি সেট করতে হবে।
আপনি আপনার টার্মিনালে এই কমান্ডটি টাইপ করতে পারেন,
chmod 755 gradlew
এটি gradlew ফাইলটিকে এক্সিকিউটেবল করে তুলবে এবং ত্রুটি সংশোধন করা হবে।
অথবা আপনি এই কমান্ডটি সহজভাবে টাইপ করতে পারেন chmod +x gradlew
এটি gradlew ফাইলটিকে এক্সিকিউটেবল করে তুলবে।
যদি এই সমাধানগুলির কোনওটিই আপনার জন্য কাজ না করে, তাহলে নীচে মন্তব্য করুন এবং আমাদের প্রযুক্তিবিদ শীঘ্রই আপনাকে সাহায্য করতে পেরে খুশি হবেন
লেখক সম্পর্কে
কেভিন অ্যারোস
কেভিন অ্যারোস এক দশকেরও বেশি শিল্প অভিজ্ঞতার সাথে একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ। তিনি মাইক্রোসফ্ট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেছেন এবং সর্বশেষ প্রযুক্তিগত উন্নয়ন সম্পর্কে আপ-টু-ডেট থাকার গভীর আবেগ রয়েছে। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি, এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রগুলিতে তার দক্ষতা এবং জ্ঞান প্রদর্শন করে কেভিন প্রযুক্তি-সম্পর্কিত বিষয়গুলির বিস্তৃত পরিসরে ব্যাপকভাবে লিখেছেন। কারিগরি ক্ষেত্রে তার অবদান তার সমবয়সীদের দ্বারা ব্যাপকভাবে স্বীকৃত এবং সম্মানিত হয়েছে এবং জটিল প্রযুক্তিগত ধারণাগুলিকে স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত সম্মানিত।