এখানে-নথির জন্য অস্থায়ী ফাইল তৈরি করা যায় না: অনুমতি অস্বীকৃত


11

[দ্রষ্টব্য: এই অনুরূপ প্রশ্ন একই ব্যাश ত্রুটি বার্তাকে উদ্বেগ করে। এটি অন্য এই Q এর সদৃশ হিসাবে চিহ্নিত হয়েছে । তবে এই ত্রুটির জন্য আমি খুব আলাদা উত্স পেয়েছি বলে আমি নীচে আমার নিজের প্রশ্নটির উত্তর দেব]]

এই পূর্বে ব্যাশ স্ক্রিপ্ট লাইন কাজ করে

while ... do ... done <<< "$foo"

একদিন এই ত্রুটি বার্তা উত্পাদন শুরু:

এখানে-নথির জন্য অস্থায়ী ফাইল তৈরি করতে পারে না: অনুমতি অস্বীকৃত


আমার ক্ষেত্রে এটি আইএমএ ( ima_policy=appraise_tcbকার্নেল প্যারামিটার) সক্রিয় /tmpনা হওয়ার সংমিশ্রণে সক্ষম হয়েছিল tmpfs। তবে এটি আসলে কোনও সাধারণ ঘটনা নয় :)।
পেভিক

উত্তর:


10

আমি umask 777এখানে স্ট্রিংয়ের আগে যোগ করেছি । উমাস্ক সরানোর পরে ত্রুটিটি চলে গেল। সুতরাং পাঠ শিখেছি: এখানে স্ট্রিং ( <<<) এর জন্য একটি অস্থায়ী ফাইল তৈরি করা হয়েছে এবং এটি এখানে নথির সাথে সম্পর্কিত ( <<), এবং এগুলি কাজ করার জন্য আপনার অবশ্যই একটি উপযুক্ত উমাস্ক সেট থাকতে হবে।



এটি zsh এবং mksh কেও প্রভাবিত করে, ksh93 বা tcsh নয়। ড্যাশ, আরসি, এস, না যশ হয় না তবে তারা টেম্প ফাইলের পরিবর্তে পাইপ ব্যবহার করে।
স্টাফেন চেজেলাস

Ksh93 এবং tcsh এর ক্ষেত্রে এটি কাজ করে কারণ তারা কেবল একবার রিড + রাইটিং মোডে ফাইলটি খোলেন, ডেটা লিখুন এবং তারপরে আবার শুরুতে ফিরে যান।
স্টাফেন চেজেলাস

6

আমার ক্ষেত্রে আমি /tmpডিরেক্টরি ডিফল্ট অনুমতিগুলি পরিবর্তন করেছি (আমার মনে হয় আমি ভুল করে 0777 এ পরিবর্তন করেছি)।

সমাধানটি হ'ল এটিকে ডিফল্ট /tmpঅনুমতিতে ফিরিয়ে আনতে হবে , যা অক্টালে 1777 (1 = স্টিকি বিট, 7 = আর + ডাব্লু + এক্স)।

সুতরাং সংক্ষেপে sudo chmod -R 1777 /tmpসমস্যাটি সমাধান করা উচিত।


আমি দেখতে পাচ্ছি যেখানে এটি সত্যই সমস্যার কারণ হতে পারে। হ্যাঁ, স্টিকি বিটটি / টেম্প্পের জন্য গুরুত্বপূর্ণ।
উপবৃত্তাকার দর্শন 14

2
আপনি সম্ভবত -Rপতাকা চান না । নীচে প্রত্যেকের ফাইলগুলি /tmpপ্রত্যেকের দ্বারা পঠন-লিখন-সম্পাদনযোগ্য হওয়ার পরিবর্তনের কোনও কারণ নেই । এই ফাইলগুলির মধ্যে কয়েকটি আপনার ব্যবহারকারীদের সুরক্ষার জন্য সংবেদনশীল।
কিথপজল্লি

1

এই সমস্যাটির সাথে আমার ব্যক্তিগত অভিজ্ঞতা umaskবাইনারি স্বীকৃতি সহ ছিল , ঠিক @ এলিপিকাল-ভিউয়ের মতো। আমার মনে হয়েছিল সেই লেখা:

umask 0644 

আমার তৈরি করা ফাইলগুলিতে আমাকে পড়তে এবং লেখার অ্যাক্সেস দেবে, কী সমস্যা

আমি পরিবর্তিত umaskহতে

umask 0022

ত্রুটি অদৃশ্য হয়ে গেছে।

আসলে, বাইনারি সংকেত বাইনারি পরিপূরক হিসাবে বোঝা উচিত।

সুতরাং, umaskনীচের মাস্কে যখন কেউ 0ফাইলের মালিকের জন্য লেখেন , এই ব্যবহারকারীর নিজের তৈরি ফাইলগুলিতে সম্পূর্ণ অ্যাক্সেস থাকবে। মানটির 2অর্থ ২ য় বিটটি মুখোশযুক্ত, এই ক্ষেত্রে এর অর্থ কী, ডিফল্টরূপে অন্যান্য ব্যবহারকারীদের ফাইলের মালিকরা যে ফাইলগুলি তৈরি করে সেগুলি লিখতে দেওয়া হবে না।


1
সম্পাদনা এবং সংশোধনের জন্য ধন্যবাদ, @ পাওলো টমো é প্রকৃতপক্ষে, umaskঅষ্টাল স্বরলিপিটি ব্যবহার করা স্বাভাবিক (এবং স্পষ্ট) কারণ প্যাসিক্স ফাইলের অনুমতিতে অবশ্যই তিনটি বিট জড়িত - মালিক, তার বা তার গ্রুপগুলির এবং অন্য সবার জন্য।
হিলটন ফার্নান্দেস

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