লিনাক্স অপারেটিং সিস্টেমে / ইত্যাদি / ছায়া এবং ছায়া ক্যাশে ফাইলগুলির উদ্দেশ্য কী?


9

লিনাক্স অপারেটিং সিস্টেমের / ইত্যাদি / ছায়া ফাইলটির উদ্দেশ্য কী? এছাড়াও, এটি কি সুস ক্লায়েন্টদের জন্য একই? একটি ছায়া ক্যাশে ফাইল রক্ষণাবেক্ষণ করা হয় এর উদ্দেশ্য কী?

উত্তর:


16

শুরু থেকে, ইউনিক্স এবং ইউনিক্স-স্টাইল অপারেটিং সিস্টেমগুলি (লিনাক্স সহ) সর্বদা পাসওয়ার্ডগুলি ক্রিপ্টোগ্রাফিক হ্যাশ (1) হিসাবে সংরক্ষণ করে। এই হ্যাশগুলি মূলত সংরক্ষণ করা হয়েছিল /etc/passwd, তবে তথ্যটি অন্য উদ্দেশ্যে উপলব্ধ করার জন্য এই ফাইলটি বিশ্ব-পঠনযোগ্য হওয়া দরকার - এমনকি প্রতিটি ফাইলের মালিকের সংখ্যাসূচক ব্যবহারকারীর আইডি প্রদর্শনের জন্য তাদের ব্যবহারকারী নামতে রূপান্তর ls -lকরতে একটি সাধারণ পাঠ্য প্রয়োজন /etc/passwd। তবে, একটি বিশ্ব-পঠনযোগ্য ফাইলে হ্যাশ পাসওয়ার্ড থাকার কারণে দূষিত ব্যবহারকারীরা সহজেই সেই হ্যাশগুলি অর্জন করতে এবং অন্যান্য ব্যবহারকারীর অ্যাকাউন্টের জন্য ব্যবহারযোগ্য পাসওয়ার্ড (২) তৈরি করার চেষ্টা করে।

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

দ্রষ্টব্য :

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

  2. হ্যাশগুলি স্থির দৈর্ঘ্য হওয়ার কারণে, এখানে সীমাহীন সংখ্যক ইনপুট রয়েছে যা দেওয়া কোনও হ্যাশ প্রতিনিধির সাথে মেলে। সুতরাং একজন আক্রমণকারী একটি কার্যকরী পাসওয়ার্ড খুঁজে পেতে পারে যা প্রয়োজনীয় ব্যবহারকারীর নিজস্ব পাসওয়ার্ডের মতো নয় - যদিও আধুনিক ক্রিপ্টো হ্যাশগুলির আকার দেওয়া এটি খুব কমই।


আমি মনে করি শেষ অনুচ্ছেদে আপনার অর্থ অবশ্যই "সীমাবদ্ধ" "অসীম" নয়।
— ফুনেহে

4
@ ফুনেহে না, ইনপুট সেট (সমস্ত সম্ভাব্য পাসওয়ার্ড) অসীম তবে আউটপুট (সমস্ত সম্ভাব্য হ্যাশ মান) সীমাবদ্ধ।
— ফিহাগ

@ ফিহাগ আমি দেখছি তবে কোনও হ্যাশ যে কোনওভাবেই মানব-স্মরণযোগ্য পাসওয়ার্ডের চেয়ে অনেক বেশি দীর্ঘ হবে :)
— ফুনেহে

1
যে কোনও প্রদত্ত সংঘর্ষের দিকে পরিচালিত ইনপুটগুলির সংখ্যা অসীম নয় , কারণ কোনও প্রদত্ত অ্যালগরিদম দ্বারা হ্যাশ করা যেতে পারে এমন স্ট্রিংগুলির দৈর্ঘ্য সীমাবদ্ধ । উদাহরণস্বরূপ দেখুন stackoverflow.com/questions/17388177/...
— MariusMatutiae

1
@ মারিয়াসমাতুটিয়াকে সত্যিই খারাপ হ্যাশ বাস্তবায়ন হিসাবে ধরে নিন যা 3 টি অক্ষরে ছড়িয়ে পড়ে। সঠিক পাসওয়ার্ডটি "abc"। "Abcd", "abcde", "abcdef" ইত্যাদির ইনপুটগুলিও একই আউটপুট হ্যাশ তৈরি করে এবং তাই, গ্রহণযোগ্যও হয়। এখানে অসীম সংখ্যক স্ট্রিং রয়েছে যা "এবিসি" দিয়ে শুরু হয় এবং তুচ্ছভাবে সংঘর্ষ হয়। (নোট করুন যে আমরা "ইনপুট" এর অর্থ ছাঁটাইয়ের প্রয়োগের আগে বা পরে প্রয়োগ করা হয়েছে কিনা তা নিয়ে এখানে মূলত একমত
— নই

6

দ্য /etc/shadowনিরাপত্তাজড়িন কারণে ফাইলটিতে সৃষ্টি করেছেন এবং প্রত্যেক ব্যবহারকারীর এর এনক্রিপ্ট করা পাসওয়ার্ড ঝুলিতে যায়নি।

মূলত, এনক্রিপ্ট করা পাসওয়ার্ডটি সংরক্ষণ করা হয়েছিল /etc/passwd। /etc/passwdবিশ্বকে পঠনযোগ্য হতে হয়েছিল যাতে সিস্টেমটি ব্যবহারকারীর নামগুলিতে ব্যবহারকারীদের মানচিত্র তৈরি করতে পারে এবং ব্যবহারকারীরা একে অপরের সম্পর্কে তথ্য জানতে পারে যেমন, অন্য ব্যবহারকারীর হোম ডিরেক্টরি বা তাদের ফোন নম্বর, যা traditionতিহ্যগতভাবে "জিকোস" ক্ষেত্রে সংরক্ষণ করা হয়েছিল এবং "আঙুল" ইউটিলিটি দ্বারা প্রদর্শিত হয়।

কিন্তু তখন লোকেরা বুঝতে পারল যে এটি একটি সুরক্ষা সমস্যা। প্রতিটি সম্ভাব্য পাসওয়ার্ডের জন্য প্রোগ্রামক্রমে এনক্রিপ্ট করা পাসওয়ার্ড তৈরি করে পর্যাপ্ত সময় সহ যে কেউ ব্রুটফোর্স আক্রমণ বলে do আক্রমণকারী যদি আসলে এটির মাধ্যমে telnetবা লগ ইন করার চেষ্টা না করেই করে থাকে sshতবে সিস্টেমটি জানতে পারে না যে এটি আক্রমণ করা হচ্ছে।

সুতরাং এনক্রিপ্ট করা পাসওয়ার্ডটি সদ্য তৈরি হওয়াতে সরানো হয়েছিল /etc/shadow, যা কেবল রুট দ্বারা পঠনযোগ্য।

এতে অন্যান্য তথ্য রয়েছে /etc/passwdযা ব্যবহারকারীর অ্যাকাউন্ট এবং পাসওয়ার্ড সম্পর্কিত ফাইল সমর্থন করে না, যেমন পাসওয়ার্ডটি সর্বশেষ পরিবর্তন করা হয়েছিল এবং কখন এটির মেয়াদ শেষ হবে।

ফাইল ফর্ম্যাটটির সম্পূর্ণ বিবরণের জন্য man 5 shadow( ওয়েব সংস্করণ ) দেখুন ।


আপনি যে SUSE এর সাথে কাজ করছেন তার কোন সংস্করণ না জেনে এটি SUSE এর জন্য একই কিনা তা আমি বলতে পারি না। উদাহরণস্বরূপ, আপনার সুস সিস্টেম এমডি 5 এর পরিবর্তে ব্লোফিশ ব্যবহার করতে পারে।

আপনি আরও বোঝিয়ে দিয়েছিলেন যে আপনি /etc/shadowএকটি আলাদা লিনাক্স বিতরণ চালিত সিস্টেমের সাথে আপনার ফাইলটি মিশ্রিত করছেন, তবে অন্য বিতরণটি কী তা বলেন নি।

SuSE 9.3 থেকে উবুন্টু সার্ভার x86_64 এ ছায়া ফাইল স্থানান্তরিত করতে সমস্যাগুলি দেখুনউদাহরণস্বরূপ ।

, এটা চিন্তা খুলুন চেষ্টা /etc/shadowএবং কিনা এনক্রিপ্ট পাসওয়ার্ড ক্ষেত্রের শুরু দেখতে $1$বা $2$। যদি এটি থাকে $1$তবে এটি এমডি 5 এবং বেশিরভাগ অন্যান্য বিতরণের সাথে সামঞ্জস্যপূর্ণ। এটিতে যদি এটি থাকে $2$তবে এটি সম্ভবত দেবিয়ানের ব্লোফিশ শ্যাডো ফাইল অনুসারে ব্লোফিশ ।

আপনি যদি উবুন্টু ব্যবহার করেন তবে উবুন্টু ব্লো ফিশের জন্য প্রথম গুগল অনুসন্ধান ফলাফলটি খুব ভাল জায়গা হতে পারে।


3

ব্যবহারকারীরা /etc/passwdফাইলটিতে তালিকাভুক্ত রয়েছে । এই ফাইলটিতে কেবল ব্যবহারকারীদের লগইন করার জন্য নয়, সিস্টেমম দ্বারা ব্যবহৃত অনেক তথ্য রয়েছে।

প্রতিটি লাইন একটি ব্যবহারকারীর প্রবেশের সাথে মিলে যায় এবং বিভিন্ন ক্ষেত্র কলোন দ্বারা পৃথক করা হয়। প্রথম দায়ের করা হয় লগইন, এটি সংশ্লিষ্ট পাসওয়ার্ড দ্বারা অনুসরণ করা হয়।

এনক্রিপ্ট করা পাসওয়ার্ডগুলি এই ক্ষেত্রে সংরক্ষণ করার জন্য ব্যবহৃত হয়। যাইহোক, /etc/passwdফাইলটি সিস্টেমের প্রত্যেককেই পঠনযোগ্য হতে হবে, সুতরাং এনক্রিপশনটি হ'ল ব্রুট আক্রমণ থেকে রোধ করে না, যেমনটি @ মাইকেলের পক্ষ থেকে বলা হয়েছে। সমাধান রুট শুধুমাত্র পাঠযোগ্য ফাইলে এই এনক্রিপ্ট করা পাসওয়ার্ড সরানো ছিল: /etc/shadow।

সুতরাং, /etc/shadowসিস্টেম ব্যবহারকারীদের এনক্রিপ্ট করা পাসওয়ার্ড রয়েছে। সিস্টেমটি জানে যে পাসওয়ার্ডের ক্ষেত্রগুলিতে যখন /etc/passwdএকা একা থাকে (যার অর্থ " / etc / छायाতে ক্রস করুন ") থাকে তখন এই ফাইলটিতে পাসওয়ার্ডগুলি পরীক্ষা করতে হয় system


1
মনে রাখবেন যে সঞ্চিত পাসওয়ার্ডগুলি /etc/passwdএখনও ছিল ঠিক সেভাবে হ্যাশ হয়েছে / যদি তারা ভিতরে থাকত /etc/shadow। আপনি আসলে এটি বলবেন না যে এতে থাকা পাসওয়ার্ডগুলি /etc/passwdপ্লেইন টেক্সট হবে, তবে * নিক্স পাসওয়ার্ড হ্যান্ডলিংয়ের সাথে অপরিচিত কারও পক্ষে আপনার উত্তরটিকে সঠিকভাবে বোঝানোর জন্য ভুল ব্যাখ্যা করা সহজ হবে।
— ডেভ শেরোহমান

আপনার মন্তব্যের জন্য ধন্যবাদ যা আমাকে আমার উত্তরকে উন্নত করতে সহায়তা করেছে।

আমি xআসলে কিছুই বোঝায় না । এটি কেবলমাত্র একটি অবৈধ হ্যাশ হিসাবে রয়েছে (এটি কোনও পাসওয়ার্ডের সাথে মেলে না)। কিছু সিস্টেম ব্যবহার করে !।
— user1686

3

আসুন দেখা যাক আমি বিশ্বের সমস্ত আপ-ভোট পেতে পারি কিনা, যেহেতু আমি '87 এ লিনাক্সের ছায়া পাসওয়ার্ড স্যুট হয়েছি বলেই লিখেছিলাম;)

আসল /etc/passwdফাইলটিতে ক্লিয়ারটেক্সট পাসওয়ার্ডের একটি পরিবর্তিত ডিইএস-ভিত্তিক হ্যাশ রয়েছে। সময়crypt()ফাংশনটি তৈরি , এটি বিশ্বাস করা হয়েছিল (এবং এটি ইউএনআইএক্স অপারেটিং সিস্টেমের নির্মাতারা জানিয়েছিলেন) সম্ভাব্য পাসওয়ার্ডের সংখ্যা এবং 12-বিটের ব্যবহারের কারণে পাসওয়ার্ড হ্যাশের বিরুদ্ধে আক্রমণগুলি অনিবার্য হবে that (4,096 সম্ভাব্য মান) "লবণ"। প্রতিটি সম্ভাব্য ক্লিয়ারটেক্সট পাসওয়ার্ডে 4,096 টি সম্ভাব্য হ্যাশ মান রয়েছে, এবং hed৪-বিটের হ্যাশ ফলাফলের সাহায্যে এটি মোট 2 ^ 72 সম্ভাব্য পাসওয়ার্ড হ্যাশ দিয়েছে।

উল্লিখিত অন্য পোস্টার হিসাবে, /etc/passwdবিভিন্ন ইউটিলিটিগুলি ব্যবহারকারীর নাম এবং ইউআইডি মানগুলির মধ্যে /etc/groupফাইল তৈরি করতে ব্যবহৃত হয়েছিল ( ফাইলটি গ্রুপগুলির জন্য অ্যানালগাস ফাংশন সরবরাহ করে) এবং এটি বিশ্ব-পঠনযোগ্য হতে পারে।

১৯৮০ এর দশকে এটি স্পষ্ট হয়ে ওঠে যে /etc/passwdফাইলটিতে সঞ্চিত পাসওয়ার্ড হ্যাশের বিরুদ্ধে অভিধান আক্রমণগুলি সম্ভবপর হয়ে উঠছিল এবং /etc/shadowসিস্টেম ভি এর প্রথম দিকে মুক্তি পেতে এটি অ্যান্ড টি ইউনিক্সের সাথে পরিচয় করিয়ে দেওয়া হয়েছিল। আমি মূল শ্যাডো লাইব্রেরিটি লিখতে কোন ম্যানপেইজগুলি নথিভুক্ত করেছি এবং আমি ' ভুলে যাওয়া থেকে, তবে এটি অবশ্যই একটি প্রাথমিক V ভি প্রকাশ ছিল, সম্ভবত SVR3.2।

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

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

শেষ পর্যন্ত- crypt()বেসড হ্যাশগুলির ব্যবহার এমনকি একটি সুরক্ষিত ফাইলেও আর নিরাপদ ছিল না এবং মূল- MD5ভিত্তিক হ্যাশ পরিবর্তন করা হয়েছিল। MD5শেষ পর্যন্ত এটিকে খুব দুর্বল বলে মনে করা হত এবং নতুন হ্যাশগুলি ব্যবহার করা হয়েছিল।

তত্ত্ব অনুসারে, একটি শক্তিশালী পর্যাপ্ত হ্যাশ সংরক্ষণ করা যেতে পারে /etc/passwd। দুর্বল অপারেশনাল সুরক্ষাটির অর্থ হ'ল বহু সিস্টেমে তাদের /etc/shadowফাইলগুলি বিভিন্ন আক্রমণ আক্রমণকারীর মাধ্যমে উপলব্ধ - "আমি ব্যাকআপ ফাইলগুলি চুরি করেছি" সম্ভবত সবচেয়ে সহজ।

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