আমি কীভাবে 'rm' কমান্ডের জন্য একটি পাসওয়ার্ড সেট আপ করতে পারি?


29

আমার বন্ধুরা টার্মিনালটি ব্যবহার করে আমার ফাইলগুলি মুছতে থাকে। সুতরাং দয়া করে কীভাবে rmকমান্ডের জন্য একটি পাসওয়ার্ড তৈরি করবেন তা ব্যাখ্যা করে আমাকে সহায়তা করুন ।


50
আপনি পাসওয়ার্ডটি ব্যবহারকারীর অ্যাকাউন্টটি সুরক্ষিত রাখতে চাইবেন যাতে সেই "বন্ধুরা" প্রথমে এটি অ্যাক্সেস না করে।
Andrea Lazzarotto

14
সিস্টেমটি কীভাবে কাজ করে তার কার্যকারিতাটি ব্যবহার করার জন্য আপনার সত্যিকারের চেষ্টা করা উচিত।
অ্যালেক্সপি

13
সম্ভবত আপনি যখন আপনার কম্পিউটারটি নিরস্ত্র অবস্থায় রেখে দেবেন তখন আপনার বন্ধুরা আপনার কম্পিউটারের চারপাশে স্ক্রু করে "আপনাকে একটি শিক্ষা দিতে" চেষ্টা করছে likely আপনার অ্যাকাউন্টটি সুরক্ষিত করে এবং অতিথির অ্যাক্সেসের অনুমতি না দিয়ে বা হ্রাস করা অনুমতি নিয়ে অতিথি অ্যাক্সেস সরবরাহ করে সেই পাঠটি শিখুন।
কেন উইলিয়ামস

4
unlinkকমান্ড সম্পর্কে মনে রাখবেন । mvকমান্ডটি সম্পর্কেও , কারণ আপনি এটির সাথে কার্যকরভাবে ফাইলগুলি ওভাররাইট করতে পারেন। এছাড়াও ...
কোস

17
এই জাতীয় বন্ধুদের সাথে যাদের শত্রু দরকার?
ক্যাস্পারড

উত্তর:


46

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

(অন্য বিকল্পটি প্রতিটি ব্যবহারকারীর জন্য স্বতন্ত্র ব্যবহারকারীর অ্যাকাউন্ট এবং তারপরে ভিডিয়োনাথ পোস্ট করেছেন এমন উত্তরের বিবরণ হিসাবে )

এখানে মূল সমস্যাটি রয়েছে - আপনি আপনার বন্ধুদের আপনার সিস্টেমটি ব্যবহার করতে দিচ্ছেন। এই আছে অনেক নিরাপত্তা প্রভাব - ধারণা একটি আইটি সিকিউরিটি মন্ত্রকে, যার কারণে তুমি কি 'ভাগ করুন' শারীরিক সিস্টেমের এক্সেস করতে হয় "বাক্সটি শারীরিক প্রবেশাধিকার সহ যে কেউ সিস্টেমের নিয়ন্ত্রণ এবং কোন কর্ম করতে সক্ষম হতে যাচ্ছে" বিশ্বস্ত অনুমোদিত কর্মী ছাড়া।


এটি করার একমাত্র সত্যিকারের বুদ্ধিমান উপায় হ'ল আপনার বন্ধুদের আপনার কম্পিউটারে অ্যাক্সেস না দেওয়া এবং তাদের একটি 'ডেডিকেটেড "অতিথি" সিস্টেম' দেওয়া যা তারা ব্যবহার করতে পারে, আপনি যতটা ফাইল ফাইলের বিষয়ে সত্যই যত্নবান নন। আপনার ফাইলগুলি সুরক্ষিত রাখার এটি সবচেয়ে 'সুরক্ষিত' উপায়।


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

আপনি এইভাবে এটি করতে চান:

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

chmod 750 /home/Foo

দ্বিতীয় পদক্ষেপটি হ'ল "বার" এর জন্য একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করা (নীচে প্রথম বন্ধনীতে কী টাইপ করবেন না এটি কেবল তথ্যের উদ্দেশ্যে)। এইভাবে, আমরা নিশ্চিত করতে পারি যে তার অ্যাক্সেস রাইটসের নিজস্ব পৃথক সেট রয়েছে:

sudo adduser --create-home --user-group --shell /bin/bash Bar
sudo passwd Bar
(set a temporary password - you will not see characters as you type though)

তৃতীয় ধাপ তারপর খুব তাদের বাড়িতে ডিরেক্টরি সীমিত করতে সেইজন্য কেউই তাদের ফাইল মধ্যে হয় pry পারে। এটি কেবল জিনিসকে সমান করে দিচ্ছে।

sudo chmod 750 /home/Bar

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


সর্বদা এটি মনে রাখবেন: কাউকে মেশিনে শারীরিক অ্যাক্সেস দেওয়া বা সাধারণভাবে অ্যাক্সেস দেওয়ার মাধ্যমে আপনি নিজের ফাইল এবং ডেটা ঝুঁকিতে ফেলতে চলেছেন। এটি আইটি সুরক্ষা বিশ্বে একটি বহুল-স্বীকৃত সত্য এবং এটি এখনও সত্য ধরে রেখেছে। আপনার কম্পিউটারে আপনার বন্ধুদের অ্যাক্সেস দেওয়া আপনার ডেটা সর্বদা ঝুঁকির মধ্যে ফেলে দেয়, তাই হয় তাদের তাদের নিজস্ব সিস্টেমটি এলোমেলো করে দাও, বা কেবল তাদের আপনার মেশিনেঅ্যাক্সেস দেবে না।


ডিস্ক এনক্রিপশনে কেবল একটি নোট

যখন তৃতীয় পক্ষ থেকে আপনার ডেটা সুরক্ষিত করতে ডিস্ক এনক্রিপশন ভালভাবে কাজ করে, সীমাবদ্ধতা রয়েছে।

  1. যদি সিস্টেমটি চালু থাকে, ডিস্কটি ইতিমধ্যে ডিক্রিপ্ট করা হয়েছে, সুতরাং আপনার ঝুঁকির মধ্যে রয়েছে।
  2. কিছু সিস্টেমে ডিস্ক এনক্রিপশন পদ্ধতির ভাঙ্গা রয়েছে । উদাহরণস্বরূপ, কিছু এসার সিস্টেমগুলি আপনার পাসওয়ার্ডটি কেবলমাত্র এনক্রিপশন / ডিক্রিপশন অনুমোদনের জন্য এবং হার্ড-কোডড পাসওয়ার্ডগুলি ব্যবহার করতে বা সহজেই ক্র্যাক করা দুর্বল এনক্রিপশন ব্যবহার করে।
  3. 'কী'গুলিতে বিভক্ত হওয়ার জন্য সবসময় পদ্ধতি রয়েছে বা কোনও সিস্টেম বন্ধ হওয়ার পরে কিন্তু র‌্যামের ডেটা' চলে গেছে 'বা খারাপ হয়ে যাওয়ার আগে মেমরি থেকে এগুলি বের করার চেষ্টা করুন। (আমি এইসব গভীরতা যাব না, কিন্তু এই ঝুঁকি না থাকবেই)।
  4. সিস্টেমটি এনক্রিপ্ট করা আছে কি না, মেশিনে শারীরিক অ্যাক্সেস আপনার ডেটা সর্বদা ঝুঁকির মধ্যে ফেলবে। আপনি সম্ভাব্যভাবে আপনার সিস্টেমে সম্পূর্ণ অ্যাক্সেস দিতে চান না এমন লোকদের শারীরিক অ্যাক্সেস (বা দূরবর্তী নেটওয়ার্ক অ্যাক্সেস) দেবেন না।

যদিও ডিস্ক এনক্রিপশন এই সমস্যাগুলি সমাধান করে না, এটি হুমকির অভিনেতার জন্য অতিরিক্ত মাথাব্যথার স্তর রাখে। খারাপ লোক এমন কেউ যদি এটি এনক্রিপ্ট করা থাকে তবে ছেড়ে দিতে পারে, বা তারা আপনাকে নির্যাতন করতে পারে (বাধ্যতামূলক XKCD সুরক্ষা কমিক স্ট্রিপ )।

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

এটি বলেছে, যদি আপনার সিস্টেমটি এনক্রিপ্ট করা না হয় তবে এই বিভাগটি আপনার জন্য কোনও প্রাসঙ্গিকতা রাখে না।


আমার ল্যাপটপে একটি এনক্রিপ্ট করা হার্ড ড্রাইভ রয়েছে। অন্যদের অ্যাক্সেস করা কি এখনও ঝুঁকিপূর্ণ?
টিম

2
@ টিম হ্যাঁ, যদি সিস্টেমটি চালিত হয় এবং ডিক্রিপ্ট হয়। এবং এটি বন্ধ থাকা সত্ত্বেও, র‌্যামে সঞ্চিত সম্ভাব্য এখনও ডিক্রিপশন কীগুলি সন্ধান করার জন্য সঠিক প্রযুক্তি, সময় এবং উত্সর্গের সাহায্যে এটি এখনও সম্ভব। ডিস্ক এনক্রিপশন হয় না 100% সুরক্ষা - এটি প্রায় উপায়ে, এটি আরো একটি প্রশ্ন "খারাপ লোক ইচ্ছুক আসলে তা যে কত সময় ও শ্রম লাগাতে" আছে। এবং ওপি-র প্রশ্নটি বিচার করে তাদের সিস্টেম চালু রয়েছে এবং এনক্রিপ্ট করা হয়নি (সম্পূর্ণ বা আংশিক) সুতরাং মুছে ফেলার ঝুঁকি রয়েছে।
থমাস ওয়ার্ড

3
@ টিম থমাসের উত্তর যুক্ত করতে কিছু ল্যাপটপের ডিস্ক এনক্রিপশন বাস্তবায়ন ভেঙে গেছে (যদি আপনি হার্ডওয়্যার এফডিইয়ের উপর নির্ভর করছেন)। আফার এসারের ল্যাপটপগুলি সত্যই এনক্রিপশনের জন্য আপনার পাসওয়ার্ড ব্যবহার করে না, তারা কেবল হার্ডকোডযুক্ত পাসওয়ার্ড দিয়ে এনক্রিপ্ট / ডিক্রিপটিং অনুমোদনের জন্য এটি ব্যবহার করে।
গ্রোনস্টাজ

অবিশ্বস্ত ব্যক্তির কোনও সিস্টেমে এনক্রিপ্ট করা বা না থাকলে অ্যাক্সেস থাকলে ডেটা সবসময়ই ঝুঁকির মধ্যে থাকে
সের্গি কলডিয়াজহনি

1
@ লাইটনেসেসেসিনব্রিট apt-getচালায়dpkg যা প্রায়শই ব্যবহৃত স্ক্রিপ্টগুলি চালায়rm । আমার জেনিয়াল বাক্সে, cd /var/lib/dpkg/info; grep -P '\brm\b' *inst344 লাইন আউটপুট করে , যার মধ্যে 333 দেখতে rmকমান্ডের আসল ব্যবহারের মতো দেখায় - কেবল ইনস্টলেশন স্ক্রিপ্টগুলিতে। grep -P '\brm\b' *rmঅপসারণ স্ক্রিপ্টগুলিতে আরও দেখায় (কনফিগার ফাইল মুছতে, প্যাকেজ ফাইল নয়)।
এলিয়াহ কাগন

19

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

আপনার কি অ্যাক্সেস নিয়ন্ত্রণ করতে হবে, বা কেবল সৎ ভুল প্রতিরোধ করতে হবে?

আপনার বন্ধুরা ধরে নিচ্ছেন যে আপনি তাদের ফাইলগুলি মুছতে চান না তা দুটি সম্ভাবনা রয়েছে:

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

  2. তারা ভুল করে এটি করতে পারে। এই দৃশ্যে আপনার বন্ধুরা অত্যন্ত দুর্ঘটনার ঝুঁকির শিকার হয় এবং তারা rmকমান্ডগুলি চালিয়ে যায় যা তারা ইচ্ছা করে না। তারা আপনার সাথে এবং আপনার ডেটার সাথে শ্রদ্ধার সাথে চিকিত্সা করতে চায় তবে বাস্তবে এটি করা খারাপ because কারণ তারা ভুল কমান্ড চালিয়ে চলেছে, ভুল ফাইলটি মুছে ফেলছে ... বা এ জাতীয় কিছু। যদিও এটি বিশ্বাস করা ভাল লাগবে যে এটি ঘটছে, তবুও আমি আপনাকে ধরে নেওয়ার বিরুদ্ধে সতর্ক করে দিচ্ছি যে লোকেরা আপনার ডেটা মুছে ফেলার কথা বলার পরেও তারা আপনার ইচ্ছামত কাজ করা বন্ধ করে দিয়েছে operating

    তদুপরি, যদি তাদের উদ্দেশ্যগুলি ভাল হয় তবে তাদের পৃথক ব্যবহারকারী অ্যাকাউন্ট দেওয়া আপনার ফাইলগুলি মুছে ফেলা থেকে বিরত রাখার সবচেয়ে বোকামি উপায়, তাদের কম্পিউটার ব্যবহার না করার অনুমতি ব্যতীত।

তাহলে অবস্থা সত্যিই # 2 - আপনার বন্ধু না চেষ্টা আপনার ফাইল মুছে ফেলতে কিন্তু শুধু সাহায্যের প্রয়োজন ঘটনাক্রমে সেগুলি মুছে ফেলা হলে, এবং একমাত্র উপায় তারা কখনও ঘটনাক্রমে তাদের মুছে (যেমন কমান্ড একটি ছোট সংখ্যা অসাবধানী অপব্যবহার মাধ্যমে হয় rm) যাতে সঠিকভাবে ব্যবহার করতে তাদের বিশেষ সমস্যা হয় - তারপরে ভিডিয়োনাথের উত্তরের কৌশলগুলি কিছুটা কার্যকর হতে পারে। তবে আপনাকে অবশ্যই বুঝতে হবে যে সেগুলি সুরক্ষা ব্যবস্থা নয়, কারণ ফাইল মুছে ফেলার অনেক সহজ উপায়ের মধ্যে rmকমান্ডটি কেবল একটি । বিস্তারিত জানার জন্য নীচে দেখুন।

আমি আপনাকে নিজেকে জিজ্ঞাসা করার পরামর্শ দিচ্ছি, "আমার পরিস্থিতি কি মূলত একইরকম যে আমার কম্পিউটারগুলি ব্যবহার করা অন্যান্য লোকদের চেয়ে আমি rmকি সেগুলিই ভুলভাবে ব্যবহার করছি ?"

যদি উত্তরটি না হয় , তবে এটি তথ্য সুরক্ষার বিষয়, এবং আপনার ব্যবহারকারীর অ্যাকাউন্টটি ব্যবহার করতে আপনার বন্ধুদের আপনার বাধা দেওয়া দরকার। উত্তরটি যদি হ্যাঁ হয় তবে আপনি যদি একইরকম পন্থাগুলি ব্যবহার করেন তবে আপনি যদি এটির অপব্যবহার করে থাকেন তবে rm:

  • শিক্ষা। আপনার বন্ধুরা তাদের কী করছে এবং এটি কীভাবে এড়ানো যায় তা জানতে হবে।
  • ইন্টারফেস পরিবর্তন। ফাইলগুলি মুছার প্রকৃত ক্ষমতা (যার জন্য পৃথক ব্যবহারকারীর অ্যাকাউন্ট প্রয়োজন) কেড়ে না নিয়ে আপনি দুর্ঘটনাক্রমে ফাইলগুলি কেবল নিজের দ্বারা চালিত করে মুছে ফেলা আরও কঠিন করে তুলতে পারেন , কোনও পদক্ষেপ না করে, তাত্ক্ষণিকভাবে মোছা হবে না । ভিডিয়োনাথের উত্তর এটির জন্য একটি পন্থা দেয়। এই উত্তরে, আমি অন্য একটি উপস্থাপন।rm filefile

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

মেকিং rmআগে মুছে ফেলার করতে সাহায্য প্রম্পট কিছু ভুল প্রতিরোধ।

লোকেরা দুর্ঘটনাক্রমে ফাইলগুলি মুছে ফেলা এড়াতে সহায়তা rmকরতে আপনি rmএকটি শেল ওরফে তৈরি করতে পারেন যা আসলে চালিত হয় rm -i-iপতাকাটি পাস করার rmফলে এটি প্রতিটি ফাইল মোছার আগে ব্যবহারকারীকে প্রম্পট করে (দেখুন man rm)।

আপনি alias rm='rm -i'নিজের .bash_aliasesবা .bashrcফাইলে যুক্ত করে এটি (আপনার ব্যবহারকারী অ্যাকাউন্টের জন্য) করতে পারেন । দেখুন এই প্রশ্নের এবং যে এক বিস্তারিত জানার জন্য। এটি আপনার নতুন খোলা ব্যাশ শেলের জন্য কার্যকর হবে।

এটি কোনও প্রকৃত সুরক্ষা সরবরাহ করে না এবং ভুলগুলি রোধ করতে বোকাও নয়, কারণ:

  • অনুরোধ করা হলে তারা মুছে ফেলা নিয়ে এগিয়ে যেতে বেছে নিতে পারে।
  • /bin/rmএটিকে ( unalias rm) চালানো বা আনলাইজ করে সহ তারা বিভিন্ন উপায়ে বাইপাসকে বাইপাস করতে পারে ।
  • অনেকগুলি পরিস্থিতি রয়েছে যেখানে উলেফ প্রসারণ ঘটে না এবং এই পরিস্থিতিতে rmচালানো হবে না -i
  • তারা এখনও এমন কোনও কৌশল ব্যবহারের মাধ্যমে ফাইলগুলি মুছতে পারে যাতে প্রয়োজন হয় না rm( ভিডিওনোথের পদ্ধতির ক্ষেত্রে যেমন হয় - নীচে দেখুন)।
  • তারা কোনও ফাইল মোছা না করে ডেটা ক্ষতি করতে পারে যেমন ওভাররাইট করে বা অন্যথায় তাদের সামগ্রীগুলি পরিবর্তন করে (ভিডিওনাউথের পদ্ধতির ক্ষেত্রেও এটি রয়েছে)।

তবে যদি আপনার প্রকৃত সুরক্ষার প্রয়োজন না হয় (উপরে দেখুন), তবে এটি যাওয়ার উপায় হতে পারে। আপনার বন্ধুদের সিস্টেম-সরবরাহিত rmকমান্ডটি ব্যবহার করা থেকে বিরত করার পদ্ধতির সাথে তুলনা করে :

  • Aliasing rmকরতে rm -iভুল প্রতিরোধ করার কম কার্যকর হয় - যে পর্যন্ত তারা অন্য কৌশল ব্যবহার করে ফাইলগুলি মুছে ফেলার জন্য যান। এই মুহুর্তে, তাদের ব্যবহার থেকে বিরত রাখা rmসম্পূর্ণরূপে অকার্যকর হবে, এমনকি তারা কোনও ভুল করার চেষ্টা না করলেও সম্ভবত তারা unlinkসমান চিন্তা-ভাবনা সহ (বা কোনও ফাইল মুছে ফেলা এমন অসংখ্য অন্যান্য কমান্ড) ব্যবহার করবে।

  • অন্যদিকে, যেহেতু ওরফে সম্প্রসারণ কেবল কিছু পরিস্থিতিতে ঘটে - মোটামুটিভাবে বলতে গেলে, শেলের সাধারণ ইন্টারেক্টিভ ব্যবহার - আপনার বন্ধুরা মনে করতে পারে যখন তারা সত্যিই অনুরোধ করা হচ্ছে না তখন তারা প্রম্পট হতে চলেছে (কারণ আদেশটি রয়েছে উদাহরণস্বরূপ একটি স্ক্রিপ্ট, বা অন্য শেল থেকে জারি করা হয়েছে)। ভিডিয়োনাথের পথে এই সমস্যাটি নেই, যা এই পদ্ধতির একটি উদ্দেশ্যমূলক সুবিধা alias rm='rm -i'

  • যখন কোনও স্ক্রিপ্ট চলবে, যদি না এটি ইচ্ছাকৃতভাবে এলিয়াসগুলি ব্যবহার করার জন্য লেখা হয়, আপনার এলিয়াস এতে প্রসারিত হয় না। এর অর্থ হল যে এলিয়াসিংয়ের rmফলে rm -iকোনও কিছু ভাঙার খুব সম্ভাবনা নেই is এটি একটি উদ্দেশ্যমূলক সুবিধা alias rm='rm -i'

rm অন্য কোনও পুরোপুরি সাধারণ প্রোগ্রামটি করতে পারে না।

এখানে আসলে বিশেষ কিছু নেই rm। ফাইলগুলি সরিয়ে ফেলার এটি একটি সুবিধাজনক এবং স্ব-ডকুমেন্টিং উপায়, সুতরাং এতে অ্যাক্সেস সীমাবদ্ধ করা এতে নির্ভর করে এমন অনেকগুলি স্ক্রিপ্টগুলি ভাঙ্গার ঝুঁকিপূর্ণ। তবে ফাইলগুলি মোছার একমাত্র উপায় থেকে দূরে - এটি কেবল একটি সাধারণ প্রোগ্রাম।

কয়েকটি কমান্ড কিছু কাজ সম্পাদন করে যা কোনও সীমিত (অ- মূল ) ব্যবহারকারী তাদের চালনা ছাড়াই সম্পাদন করতে পারে না। উদাহরণস্বরূপ, sudoআপনাকে এটির অনুমতি দেওয়া হয়েছে তা নিশ্চিত করার জন্য চেক করার পরে আপনাকে অন্য ব্যবহারকারী হিসাবে প্রোগ্রামগুলি চালাতে দেয়। passwdব্যবহারকারীদের পাসওয়ার্ড সংরক্ষণ করা হয় যেখানে ডাটাবেস সম্পাদনা করে, তবে কেবল আপনাকে নিজের পাসওয়ার্ড পরিবর্তন করতে দেয় (আপনি যদি রুট না হন তবে এক্ষেত্রে আপনি কারও পাসওয়ার্ড পরিবর্তন করতে পারবেন)।

/usr/bin/sudoএবং এটি /usr/bin/passwdকরতে পারে কারণ আপনি যখন রান করবেন তখন তাদের বামদিকের কলামে প্রদর্শিত একটি বিট সেট রয়েছে :sls -l

ek@Io:~$ type -a sudo passwd rm
sudo is /usr/bin/sudo
passwd is /usr/bin/passwd
rm is /bin/rm
ek@Io:~$ ls -l /usr/bin/sudo /usr/bin/passwd /bin/rm
-rwxr-xr-x 1 root root  60272 Feb 18  2016 /bin/rm
-rwsr-xr-x 1 root root  54256 Mar 29  2016 /usr/bin/passwd
-rwsr-xr-x 1 root root 136808 Aug 17 09:20 /usr/bin/sudo

লক্ষ করুন যে, /bin/rmকোন হয়েছে s: তার অনুমতি হয় -rwxr-xr-x, যখন /usr/bin/passwdএবং /usr/bin/soআছে -rwsr-xr-xপরিবর্তে। এটি এটিকে এমন করে তোলে যে, কে চালায় passwdবা sudo, এটি মূল ব্যবহারকারী হিসাবে চালিত হয় না, যেহেতু মূল নির্বাহযোগ্যের মালিক। (একটি সেটগিড বিটও রয়েছে, যা সেট হয়ে গেলে এক্সিকিউটেবলকে তাদের গ্রুপের মালিকের গোষ্ঠীর পরিচয় দিয়ে কলারের পরিবর্তে চালিত করে))

সুরক্ষা দুর্বলতাগুলি যেগুলি এখনও সনাক্ত করা যায় নি (বা এটি আবিষ্কার করা হয়েছে তবে এখনও প্যাচ করা হয়নি) ব্যতীত sudoএবং passwdনিরাপদ কারণ সেগুলি ইউটিলিটিগুলি খুব সাবধানতার সাথে লেখা হয়েছে তাই তারা কেবলমাত্র সেই কাজ করতে পারে যাতে কলারের অনুমতি দেওয়া উচিত ought করতে.

/bin/rmএইভাবে কাজ করে না। এটি সেটুইড নয় কারণ এটি হওয়ার দরকার নেই। ডিরেক্টরি অনুমতিগুলি (এবং মাঝেমধ্যে ফাইল অনুমতিগুলি ) কোনও ব্যবহারকারী কোন ফাইলগুলি মুছতে পারে তা নিয়ন্ত্রণ করে এবং এটি করার জন্য তাদের রুট হওয়ার দরকার নেই। কেবল পুরোপুরি পরিষ্কার হতে, দয়া করে কখনও সেট বিড সেট করবেন নাrm । সুরক্ষা জড়িতগুলি বিপর্যয়কর হবে, তার পর থেকে, rmকেই দৌড়ায় তা বিবেচনাধীন নয়, এটি এটিকে মূল হিসাবে চালিয়ে দিয়েছে! (ইউটিলিটিগুলি sudoএবং passwdকে সত্যই এগুলি চালাচ্ছে তা পরীক্ষা করে দেখুন এবং কিছু করার আগে কিছু অনুমোদিত কিনা তা পরীক্ষা করুন; এ জাতীয় rmকোনও কাজ করেন না))

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

ছাড়াই ফাইল মোছা হচ্ছে rm

rmউবুন্টু ছাড়াই ফাইল মুছে ফেলার সুস্পষ্ট উপায় হ'ল গ্রাফিকাল ফাইল ব্রাউজারে (নটিলাস, যদি আপনি ইউনিটি বা জিনোম শেল ব্যবহার করছেন) তার অবস্থানটিতে যান এবং ফাইলটি মুছুন। এছাড়া অসংখ্য কমান্ড যে কখনও ব্যবহার না করে, টার্মিন্যাল থেকে একটি ফাইল মুছে ফেলতে ব্যবহার করা যায় rm

উদাহরণস্বরূপ, foo.txtবর্তমান ডিরেক্টরিতে ডাকা একটি ফাইল অপসারণ করতে , নিম্নলিখিত কমান্ডগুলি, যা উবুন্টু-তে-বাক্সের বাইরে কাজ করে এবং এতে অ্যাক্সেসের প্রয়োজন নেই rm, এটি অর্জন করবে। (নিশ্চিত হওয়া মাত্র, আমি এগুলি মুছার পরে কেবলমাত্র স্ট্যান্ডার্ড সিস্টেম ইউটিলিটিগুলির সাথে ইনস্টল করা একটি 16.04 ন্যূনতম সিস্টেমে পরীক্ষা করেছি /bin/rm))

  • unlink foo.txt
  • busybox rm foo.txt
  • perl -e 'unlink("foo.txt")'
  • python3 -c 'import os; os.remove("foo.txt")'( পুরানো প্রকাশের pythonপরিবর্তে python3)

অবশ্যই এই তালিকাটি কোথাও সম্পূর্ণ নয়। এই জাতীয় আদেশের কোনও সম্পূর্ণ তালিকা সম্ভব নয়। ফাইল মুছে ফেলা রোধ করা পৃথক ব্যবহারকারীর অ্যাকাউন্ট এবং ফাইল এবং ডিরেক্টরি অনুমতিগুলি অর্জনের জন্য বিদ্যমান একটি বিষয়। তারা এটি রোধ করতে খুব ভাল কাজ করে। বিপরীতে, rmকমান্ডটি পরিবর্তন করে (এটির জন্য পাসওয়ার্ডের প্রয়োজন হয় বা অন্য কোনও উপায়ে) বা অ্যাক্সেসকে সীমাবদ্ধ করে rmএকে একে বাধা দেয় না।


2
প্রকৃত ব্যবহারের, আমি গনুহ মত জন্য rmএর -Iবিকল্প। এটি কেবল 4 বা ততোধিক ফাইল মুছতে বা পুনরাবৃত্ত মোছার জন্য অনুরোধ জানায়। সুতরাং আপনি সবসময় ব্যবহার করার -f, \rmওরফে প্রসার এড়াতে বা yপড়া না করে টাইপ করার অভ্যাসটি পান না । তবে এটি আপনাকে খারাপ টাইপগুলি থেকে রক্ষা করবে যেখানে আপনি বোঝানোর আগে ফিরতি হিট করেছিলেন বা আপনার গ্লোব অনেকগুলি ফাইলের সাথে মেলে।
পিটার কর্ডস

2
ফাইলগুলি লিঙ্কমুক্ত করার আরও একটি আকর্ষণীয় উপায়: mv foo.txt /tmp/.goneতারপরে যে টিএমপিফগুলি সমর্থন করছে তা বাতিল করে পুনরায় বুট করুন /tmp। বা কেবল mvএকাধিক ফাইলের নাম একই সাথে ব্যবহার করে কেবল শেষ ফাইলটি বাকি আছে one বা কেবল অস্পষ্ট নামগুলির সাথে নাম পরিবর্তন করে ফাইলগুলি লুকান। এই উত্তরের প্রথম অংশটি যেমন উল্লেখ করেছে, আপনি যদি অক্ষমতার চেয়ে কুৎসা রক্ষা করার চেষ্টা করছেন, আপনার লোকদের কেবল আপনার অ্যাকাউন্ট থেকে লক করা দরকার।
পিটার কর্ডস

16

আপনি /bin/rmনিম্নলিখিত লাইনের মাধ্যমে কমান্ডের অনুমতিগুলি পরিবর্তন করতে পারেন যা এটি সুডো অ্যাক্সেস ছাড়াই কার্যকর করা রোধ করবে:

sudo chmod 750 /bin/rm

এটি তাদের rmসিস্টেম দ্বারা প্রদত্ত কমান্ডটি ব্যবহার করতে বাধা দেয় । আপনার সচেতন হওয়া উচিত যে এটি অন্যান্য উপায়ে ফাইলগুলি মুছে ফেলা থেকে তাদের বাধা দেয় না।

rmdirকমান্ডটি যা ডিরেক্টরি মুছে ফেলার একটি সাধারণ উপায়, সেগুলি ব্যবহার থেকে বাধা দেওয়ার জন্য, আপনি একইভাবে নির্বাহের পথে অনুমতি নির্ধারণ করতে পারেন:

sudo chmod 750 /bin/rmdir

মনে করিয়ে দিন যে পাশাপাশি আপনি এই আদেশগুলি কেবল সুডো অধিকারের সাথেও ব্যবহার করতে পারেন।

আপনি যদি এটি পছন্দ না করেন তবে এটিকে পরিবর্তন করতে বা অন্যান্য সমস্যাগুলির 755জন্য ব্যবহার হয়chmod


@ এমুরু যেমন উপরে উল্লেখ করেছেন যে এটি একটি খুব অশোধিত সমাধান এবং এমনকি সিস্টেম পরিষেবাদিও ভেঙে দিতে পারে যা মূল অ্যাকাউন্টে চলমান না । সুতরাং আমি এখানে এসিএল (অ্যাক্সেস নিয়ন্ত্রণের তালিকা) ব্যবহার করে আরও একটি বিকল্প যুক্ত করেছি এবং সম্ভবত আরও নিরাপদ ( ভালভাবে পড়তে ভাল এবং আপনি সক্ষম অংশটি এড়িয়ে যেতে পারেন কারণ আজকাল উবুন্টু সিস্টেমে সাধারণত ACL ইনস্টল করা থাকে):

সুতরাং উপরের মত একই কাজ করা কেবলমাত্র আপনি যে ব্যবহারকারীদের ব্লক করতে চান তা হ'ল

sudo setfacl -m u:<user-name>:- /bin/rm /bin/rmdir

কেবলমাত্র <user-name>প্রকৃত ব্যবহারকারীর নামগুলিই প্রতিস্থাপন করুন যা আপনি ফাইলগুলি ব্যবহার করে প্রতিরোধ করতে চান।

পাশাপাশি chmod, setfacl -mনির্দিষ্ট ব্যবহারকারীদের চলমান থেকে রোধ করতে ব্যবহার করে rmএবং rmdirকেবলমাত্র সেই সিস্টেম-সরবরাহিত আদেশগুলি প্রয়োগ করে। এটি তাদের নটিলাসে আপনার ফাইল এবং ফোল্ডারগুলি মুছতে বা অন্যান্য টার্মিনাল কমান্ড ব্যবহার করে বাধা দেয় না।

ব্যাখ্যা:

  • -mপতাকা ফাইল ACL এর পরিবর্তন মানে।
  • পরিবর্তনের প্রথম অংশটি uব্যবহারকারীর পক্ষে দাঁড়িয়েছে। এটিতে uব্যবহারকারী, gগোষ্ঠী এবং oঅন্য সকলের জন্য নিম্নলিখিত মান থাকতে পারে
  • মধ্যবর্তী অংশটি <user-name>আপনি কী পরিবর্তন করতে চান সেই অনুসারে প্রকৃত ব্যবহারকারীর নাম বা গোষ্ঠীর নাম হোল্ট করতে পারে। সামগ্রিক পরিবর্তনগুলি সেট করতে আপনি এটিকে খালি ছেড়ে যান।
  • তৃতীয় অংশে আপনি যে ধরনের অনুমতি সেট করতে চান তা ধারণ করে। এখানে উদাহরণ হিসাবে আমরা কোনও অনুমতি নির্ধারণ করতে চাই না তাই আমরা রেখেছি -, এটি rপড়ার অনুমতি, wলেখার অনুমতি এবং xকার্যকর করার জন্য নিম্নলিখিত অক্ষরগুলি ধারণ করতে পারে ।

4
অন্যের জন্য এক্সিকিউট করার অনুমতিগুলি অপসারণের চেয়ে এসিএল ব্যবহার করা ভাল better যে কোনও সিস্টেম পরিষেবা রুট হিসাবে চালিত হয় না সেগুলি এখন প্রতিবন্ধী।
মুরু

2
sudo setfacl -m u:<username>:- /bin/rm /bin/rmdir, আইআইআরসি। আপনি এসিএল দিয়ে পরীক্ষা করতে পারেনgetfacl /bin/rm /bin/rmdir
মুড়ু

2
এর মতো এসিএলগুলির একমাত্র নেতিবাচক দিকটি হ'ল এই দীর্ঘমেয়াদী বজায় রাখা দুষ্ট / কৌশল। যদি প্রতিটি ব্যক্তির জন্য সিস্টেমে স্বতন্ত্র ব্যবহারকারীর নয় বজায় রাখার জন্য অসম্ভব ব্যবহার সিস্টেম। অন্যথায়, এটি একটি ভাল ধারণা।
থমাস ওয়ার্ড

4
@ ডেভিডফোস্টার হ্যাঁ সেখানে ছাড়া ফাইল মুছে দিন একটি কার্যকরভাবে সীমাহীন সংখ্যক উপায় আছে rm। ভিডিয়োনাথ এখানে যে সমাধানটি দিয়েছে তা হ'ল দুর্ঘটনাজনিত প্রবণ ব্যবহারকারীদের স্টাফ মোছা বন্ধে সহায়তা করার একটি সম্ভাব্য উপায়, তবে এটি কোনও আসল সুরক্ষা সরবরাহ করে না (যা ঠিক আছে যদি অপের বন্ধুরা ইচ্ছাকৃতভাবে ওপি'র ইচ্ছাকে নষ্ট করার চেষ্টা না করে ) । ভিডিয়োনাথ: আমি এই পোস্টটি সম্পাদনা করার পরামর্শ দিচ্ছি যাতে এটি স্পষ্টতই স্পষ্ট করে দেয় যে এটি আসলে ফাইলগুলি মুছতে বাধা দেয় না কারণ এটি rmকরার জন্য কমান্ডের প্রয়োজন নেই । (আমি নিজেকে সম্পাদনা, কেস থেকে বিরত আছি আপনি যে বলতে চাই না।)
Eliah মধ্যে Kagan

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

8

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

যাইহোক, আপনি আরএম কমান্ড আচরণ করে এমনভাবে পরিবর্তন করতে আপনি উলাম ব্যবহার করতে পারেন। চেষ্টা করুন:

alias rm="sudo -l >/dev/null && rm"

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

এরপরে আমরা একটি "&& "দিয়ে sudo কমান্ডটি অনুসরণ করি যা নিম্নলিখিত কমান্ডটি থেকে বেরিয়ে আসে - এই ক্ষেত্রে" rm "কেবল তখনই হয় যদি পূর্ববর্তী কমান্ডটি 0-এর সাথে প্রস্থান করে - যেমন তারা পাসওয়ার্ডটি অধিকার পেয়েছে।

এটিকে স্থায়ী করতে, নাম কমান্ডটি অন্তর্ভুক্ত করুন ~/.bashrc

এটি নোট করুন এটি খুব সহজেই পরাজিত হয়েছে (উদাহরণস্বরূপ, তারা কেবল টাইপ করতে পারে /bin/rm


5

কখনও কখনও এটি আমাদের বন্ধু নয়, আমরা আমাদের নিজস্ব খারাপ শত্রু

আমি পাসওয়ার্ড সুরক্ষার জন্য স্ক্রিপ্ট লিখেছি rmযেমন ওপি অনুরোধ করেছে তবে আপনাকে দুর্ঘটনাক্রমে মোছা থেকে রোধ করতে সম্পাদনাগুলিও রেখেছি :

  • /
  • / হোম
  • / বিন

সম্পাদনা করুন: মার্চ 5 2017 - টার্মিনালে চলছে কিনা তা পরীক্ষা করার পদ্ধতি পরিবর্তন করুন।


স্ক্রিপ্ট তৈরি করুন

gksu gedit /usr/local/bin/rmএই লাইনগুলিতে ব্যবহার এবং অনুলিপি করুন :

#!/bin/bash

tty -s;
if [ "0" == "$?" ]; then Terminal="Y"; else Terminal="N"; fi

if [ $Terminal == "Y" ] ; then
    # Running from terminal don't allow delete of / or /toplevel directory even if sudo
    for i in ${@:1}
    do
        # Skip options -i -r -v -d 
        if [[ ${i:0:1} != "-" ]] ; then
            # if parameter doesn't begin with '-' it's file or directory, so get real path.
            fullname=$(realpath "$i" 2>&1) # No error messages if file doens't exist
            # We must have at least two `/` in the full path
            levels=$(echo "$fullname" | tr -cd '/' | wc -c)
            if (( $levels == 1 )); then # Test for 1, will be zero when file doesn't exist.
                echo "Attempting to remove top level directory '$fullname'"
                echo "Use 'sudo /bin/rm $@' instead."
                exit 1 # error
            fi
        fi
    done
fi


if [[ $(id -u) != 0 ]]; then # Only non-root processes enter password (ie "sudo rm ..." is ok)
  if [ $Terminal == "Y" ] ; then
  # Only running from a terminal needs password (ie not cron)

    # log rm usage to /var/log/syslog
    PARENT_COMMAND="$(ps -o comm= $PPID)"   
    logger "$PARENT_COMMAND"" - rm command was used on file: ""$fullname"

    # Get password
    Password=$(zenity --password --title="Password for rm")
    encryptPassword=$(echo -n "$Password" | md5sum)

echo "md5sum: $encryptPassword" # Comment out after viewing one time and updating line below.

    if [[ "$encryptPassword" != "d2c30dc65e59558c852ea30b7338abbe  -" ]]; then
        echo "Invalid password!"
        exit 1
    fi
  fi # non-terminals can't enter password.
fi # root doesn't need to enter password.

# Call REAL rm command with parameters passed to this wrapper sript
/bin/rm "$@"

exit 0

আপনার পছন্দ মতো যে কোনও পাসওয়ার্ড "WE2U" পরিবর্তন করুন এবং ফাইলটি সংরক্ষণ করুন।

rmএক্সিকিউটেবল হিসাবে নতুন স্ক্রিপ্ট চিহ্নিত করুন

rmএক্সিকিউটেবল হিসাবে এটি ব্যবহার করে নতুন স্ক্রিপ্ট ফ্ল্যাগ করুন :

sudo chmod +x /usr/local/bin/rm

কিভাবে এটা কাজ করে

আরএম পাসওয়ার্ড

পাসওয়ার্ডটি WE2U না হলে আপনি প্রথমবার স্ক্রিপ্টটি চালাবেন আপনি "অবৈধ পাসওয়ার্ড" পাবেন এবং আপনার প্রবেশ করা পাসওয়ার্ডের জন্য এনক্রিপশন কী প্রদর্শিত হবে। টার্মিনাল থেকে স্ক্রিপ্টটিতে এই এনক্রিপশন কীটি অনুলিপি করুন এবং আটকান। তারপরে ইকো দিয়ে লাইনটি মন্তব্য করুন যা টার্মিনালে এনক্রিপশন কীটি প্রদর্শন করে।

কারণ আমাদের কমান্ড বলার /usr/local/binচেয়ে তালিকায় পাথটি বেশি । বৈধ পাসওয়ার্ড পাওয়ার পরে এটি আসল অপসারণ করতে কল করে।/binrm/bin/rm

থমাস ওয়ার্ড অন্য উত্তরে যেমন উল্লেখ করেছে, আপনি যদি কিছু করতে থাকেন তবে আপনাকে হাজারবার sudo apt-get install ...পাসওয়ার্ডের জন্য জিজ্ঞাসা করা যেতে পারে। স্ক্রিপ্টটি sudoব্যবহার করা হয়েছে কিনা তা যাচাই করে এবং পাসওয়ার্ড জিজ্ঞাসা করে না। এছাড়াও rmজিইউআই অ্যাপ্লিকেশনের মধ্যে থেকে কল করা থাকলে কোনও পাসওয়ার্ডের প্রয়োজন হয় না।

টার্মিনালটি ব্যবহার loggerকরে স্ক্রিপ্টটি প্রতিবার রেকর্ড করার জন্য rmম্যানুয়ালি কল করা হয়েছিল। কমান্ড ব্যবহার রেকর্ড করা হয় /var/log/syslog


1
আপনি স্ক্রিপ্টে কেবল এটির একটি হ্যাশড সংস্করণ অন্তর্ভুক্ত করে পাসওয়ার্ডটি মাস্ক করতে পারেন এবং তারপরে ব্যবহারকারী যখনই কোনও পাসওয়ার্ড প্রবেশ করে তখন কেবল এটি হ্যাশ করতে পারে এবং হার্ড-কোডড হ্যাশের বিপরীতে এটি পরীক্ষা করতে পারে।
InitializeSahib

@InitializeSahib হ্যাশ পাসওয়ার্ড সমর্থন (এনক্রিপশন) স্ক্রিপ্টে যুক্ত করা হয়েছে।
WinEunuuchs2 ইউনিক্স

3

আর একটি বিকল্প হ'ল কোনও ডিরেক্টরিতে কোনও গুরুত্বপূর্ণ ফাইলের ব্যাকআপ অনুলিপি তৈরি করা হবে যা অ-রুট ব্যবহারকারীদের অ্যাক্সেস নেই। আপনি এগুলিকে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করতে rsyncবা ব্যবহার করতে পারেন unison, ব্যাকআপ গন্তব্যে যাওয়ার পথে অন্তত একটি ডিরেক্টরি রুট এবং মোড 700 এর মালিকানাধীন রয়েছে তা নিশ্চিত করুন। যদিও এরপরে সমস্ত ফাইলের দুটি অনুলিপি থাকবে। তাদের ব্যবহারের জন্য কেবলমাত্র কোনও অতিথি ব্যবহারকারী তৈরি করা নিরাপদ হবে, আপনি কম্পিউটার দেওয়ার আগে বা এটি বিনা নজরে রেখে যাওয়ার আগে সর্বদা লক বা লগ আউট করার কথা মনে রাখবেন না except


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

@ajostergaard আমার ধারণা ছিল যে যখনই সে তার বন্ধুদের কাছ থেকে কম্পিউটার ফিরে পায় সে ম্যানুয়ালি পরীক্ষা করে দেখায় যে কিছুই অনুপস্থিত এবং যা কিছু আছে তা পুনরুদ্ধার করে। তবে আমার নিজস্ব পছন্দসই সরঞ্জামটি গুই ইন্টারেক্টিভ মোডে ব্যবহৃত হয়েছে, যা মুছে ফেলা দেখতে (এবং বিপরীত )টিকে সহজ করে তোলে।
র্যান্ডম 832

2

আপনি যে প্রশ্নের সন্ধান করছেন তার সরাসরি উত্তর নয় তবে:

যদি আপনার বন্ধুরা rmকমান্ডটি ব্যবহার করে আপনার ফাইলগুলি মুছে ফেলছে তবে আপনার বন্ধু হয় হয় অদক্ষ, জর্কস , বা তারা BOFH ভ্যানাব্যাব যারা আপনাকে আপনার সেশনগুলিকে লগ ইন না করে এবং প্রশিক্ষণ ছাড়তে শেখাতে চাইছে । সব ক্ষেত্রেই সমাধানটি এক রকম: আপনার সেশনটি লগইন এবং অযত্ন ছাড়বেন না

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

"বন্ধুবান্ধব" কে পরবর্তী পদক্ষেপে যেতে বাধা দেওয়ার সুবিধাও রয়েছে। mvযখন তারা আপনার ফাইলগুলিকে / ডিভ / নাল এ সরিয়ে নেওয়ার সিদ্ধান্ত নেয়, তখন যখন তারা জানতে পারে যে একটি সরান সরানো তারা যা চায় তা না করে তবে আপনি কি কমান্ডটি "পাসওয়ার্ড সুরক্ষা" দিতে চান? আপনি যখন এই জাতীয় খেলায় থাকেন তবে একমাত্র বিজয়ী পদক্ষেপটি খেলতে হবে না।


1

আমার অনুরূপ সম্ভাবনা রয়েছে যার জন্য আমি পরিকল্পনা করেছি। ফাইল সার্ভারে, যদি ফটোগুলির মূল স্টোরেজটি লিখিত হয় যে পরিবারে সোমোন (কম প্রযুক্তিগত বা দুর্ঘটনাক্রমে) কিছু মুছে ফেলতে পারে, ঘটনাক্রমে গুইতে টানুন যা ডিরেক্টরিটি সরায়, বা নাম পরিবর্তনের পরিবর্তে সম্পাদিত সংস্করণ সহ একটি মূলটিকে ওভাররাইট করতে পারে ।

আমি বুঝতে পেরেছিলাম যে অনুমতিগুলি অন্য সবার জন্য অলিখিত লিখিত না করেই আমি এর থেকে রক্ষা করতে পারি। জেডএফএস পর্যায়ক্রমিক স্ন্যাপশট তৈরি করে যাতে কোনও দুর্ঘটনাজনিত মোছা বা ওভাররাইটিং বিপরীত হতে পারে। (ব্যাকআপের বিপরীতে, একটি স্ন্যাপশট হালকা ওজনের এবং অনুলিপিযুক্ত যাতে এটি আপনার সঞ্চয়স্থানের ব্যবহারকে বাড়িয়ে দেয় না))

জেডএফএস হ'ল ফ্রিবিএসডি-তে। লিনাক্সের বিটিআরএফ রয়েছে যাতে স্ন্যাপশটও রয়েছে।


0

খুব বোকা ইস্যুটির জন্য খুব নির্বোধ কাজ।

আপনাকে না চান তাহলে chmod rm, rmdirবা mv(জন্য mv filename /dev/null) অথবা ব্যবহারের ACLs, আপনি একটি পাসওয়ার্ড কারুর সাথে একটি ডামি ব্যবহারকারী তৈরী করতে পারে কিন্তু আপনি জানেন এবং ওরফে প্রতিটি কমান্ড sudo [user], এবং তারপর প্রতিটি কমান্ড যে আপনার বন্ধুদের জানতে না alias লেখা করতে । এইভাবে, আপনার বন্ধুরা টাইপ rmকরার সময় সিস্টেমটি তাদের একটি পাসওয়ার্ডের জন্য অনুরোধ জানাবে (তবে পাসওয়ার্ডটি অনুমান করা ব্যর্থ প্রচেষ্টাটি লগ করবে), এবং আপনি এখনও কেবল rmaliasফাইলগুলি মুছতে বাছাই করতে পারেন বা যা যা বেছে নিতে পারেন।

অথবা আপনি কেবলমাত্র কোনও অতিথি অ্যাকাউন্ট তৈরি করতে পারেন যা আপনার বাড়ির ডিরেক্টরিতে অ্যাক্সেস পায় না।


মনে হচ্ছে আপনি সঠিক পথে আছেন। আপনার উত্তর কিভাবে সেটআপ ওরফে উপর elaborating করে উন্নত করা যেতে পারে, sudo [user]এবংdummy user
WinEunuuchs2Unix

0

আপনি পাসওয়ার্ড-সুরক্ষিত RM করতে চান তাহলে, একটি সমাধান জন্য একটি মোড়কের করতে হবে RM যে রুট অধিকার প্রয়োজন হবে, এবং অন্যথায় একটি পাসওয়ার্ড জন্য জিজ্ঞাসা করুন। (দ্রষ্টব্য: কোর্টিলস প্যাকেজ আপডেট হয়ে গেলে বা পুনরায় ইনস্টল করা হলে এই মোড়কটি চলে যেতে পারে )) এছাড়াও, দয়া করে এটি কেবলমাত্র আরএম সুরক্ষিত রাখুন, একটি ফাইল মুছার আরও অনেক উপায় রয়েছে।


একটি টার্মিনাল খুলুন এবং রুট হয়ে উঠুন। তারপরে sudo mv /bin/rm /bin/rmoldপুরানো আরএমকে অন্য জায়গায় সরিয়ে নিতে দৌড়াও ।

এখন sudo nano /bin/rmএকটি মোড়ক তৈরি করতে রান করুন ।

ন্যানোতে, নিম্নলিখিত টাইপ করুন:

#!/bin/bash
/bin/rmold "$@"
exit "$?"

তারপরে ধরে রাখুন CTRLএবং Xপ্রস্থান করতে টিপুন । Yআপনাকে জিজ্ঞাসা করা হলে টিপুন , তারপরে ENTERফাইলটি সংরক্ষণ করতে আঘাত করুন।

শেষ অবধি, আমাদের এটিকে যথাযথ অনুমতি দেওয়া দরকার:

sudo chmod a+x /bin/rm

এবং আপনি সেখানে যান।


1
আপনার যদি খুব ভাল কারণ না থাকে তবে স্ক্রিপ্ট ভেরিয়েবলগুলি হওয়া উচিত সর্বদা উদ্ধৃত করা : $@=> "$@"। এখানে, আপনি যা প্রস্তাব করছেন সেটি মূল এবং নিরাপদে একটি অত্যন্ত বিপজ্জনক সংস্করণ rm: যদি কোনও ফাইল foo -i -r *( -iনির্দোষ ব্যবহারকারীদের সুরক্ষায় যুক্ত করা হয়) নামে থাকে তবে কী হবে ?
xhienne

"@ শিহেনির $@বক্তব্যকে উদ্ধৃত করার পাশাপাশি , আমি আপনাকে পাঠকদের পরিষ্কারভাবে সতর্ক করতে অনুরোধ করব যেহেতু কোনও ফাইল মোছার অনেকগুলি উপায় আছে বলে এটি কোনও সুরক্ষা দেয় না। একটি হ'ল কল করা rmold, কিন্তু অন্যান্য উপায়গুলির প্রচুর সংখ্যা রয়েছে, যেমন তাদের উপর অন্যান্য উত্তর এবং মন্তব্যে আলোচনা করা হয়েছে। (তারপরেও, এতে সমস্যা rmহবে যা এটি বর্তমান ব্যবহারকারী হিসাবে ফাইলগুলি মুছে ফেলার মতো মনে করবে - এটিকে কল ছাড়া বলা হয় sudo, এবং rmকলার হিসাবে সাধারণ রান হয় - তবে এটি রুট হিসাবে কাজ করে! যদি তারা সম্প্রতি sudoসম্পাদনা করে থাকে তবে তারা জিতেছে ' T তারা এমনকি যদি তারা সিস্টেম ফাইল মুছে ফেলার করা যেতে পারে লক্ষ্য জানি পরিবর্তন বিষয়ে)।
Eliah মধ্যে Kagan
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.