এসএসএইচ সংযোগ পরিচালনা করার সময় সিস্টেমটি কী পদক্ষেপগুলি অতিক্রম করে?


9

এসএসএইচ সংযোগ পরিচালনা করার সময় সিস্টেমটি কী পদক্ষেপগুলি অতিক্রম করে?

  1. আমরা ssh এর মাধ্যমে লগ ইন করার চেষ্টা করি
  2. sshd আমাদের অনুমোদনের জন্য প্যাম এবং প্যাম মডিউল শুরু করে
  3. প্যাম কনফিগারেশনের উপর নির্ভর করে আমাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড সরবরাহ করতে হবে (পাম চেক passwdএবং shadowফাইলগুলি)
  4. জন্য পাম চেক hosts.allow/deny, /etc/shellsএবং অন্যান্য বিষয়
  5. সবকিছু ঠিকঠাক থাকলে আমরা লগ ইন করি
  6. ???
  7. শেল শুরু হয়েছে

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

উত্তর:


8

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

আপনার প্রশ্নটি ওপেনএসএসএইচ সম্পর্কিত , এটি ঠিক সেটাই করে: ব্যবহারকারী একবার প্রমাণিত হয়ে গেলে এবং পিএএম সেশন স্টাফটি সম্পন্ন হয়ে যায় (যদি PAM¹ ব্যবহারের জন্য কনফিগার করা থাকে), এসএসএস সার্ভারটি ব্যবহারকারী ডাটাবেসে শেলটি সন্ধান করে (সরাসরি, না পিএএম লাইব্রেরির মাধ্যমে)।

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

আপনি যদি পুরো শেল অ্যাক্সেস ছাড়াই ব্যবহারকারী থাকতে চান, তবে প্রাকৃতিক সমাধানটি /etc/passwdএকটি সীমাবদ্ধ শেল রাখার জন্য পরিবর্তন করতে হবে - সম্ভবত কিছু ফাইল-অনুলিপি-টাইপ অ্যাপ্লিকেশন যেমন scp, rsync এবং cvs মঞ্জুর করার জন্য আরএসএস । আপনি ব্যবহারকারীর ~/.ssh/authorized_keysফাইলে জোর করে কমান্ডও ব্যবহার করতে পারেন ।

আপনি যদি ssh সার্ভারটি কী করছে তার কোনও সন্ধান দেখতে চান তবে ডিমন হিসাবে এটি শুরু করুন ssh -ddd। আপনি এখানে ক্লায়েন্টের দৃষ্টিভঙ্গিও পেতে পারেন ssh -vvv, যদিও এখানে সার্ভারের দৃষ্টিভঙ্গি আপনাকে সবচেয়ে বেশি আগ্রহী করবে।

¹ ওপেনএসএইচ কেবল প্যাম ব্যবহার করে যদি এটি পিএএম সমর্থন সহ কনফিগার করা থাকে এবং UsePAMনির্দেশটি সেট করা yesথাকে sshd_config। এমনকি যখন এটি প্যাম ব্যবহার করে, এটি পিএএম ছাড়াও অন্যান্য প্রমাণীকরণের পদ্ধতি সরবরাহ করে; নির্দিষ্ট পাবলিক কী প্রমাণীকরণ PAM মাধ্যমে যায় না।


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

@ পিবিএম: আপনার মনে হয় না nis, বরং db(বা সম্ভবত একটি কাস্টম মডিউল) I
গিলস'স'-এ দুষ্ট হওয়া বন্ধ করুন '

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