/bin/falseএটি একটি ইউটিলিটি প্রোগ্রাম, যার সহচর /bin/true, যা ইউনিক্স বৈশিষ্ট্য-সম্পূর্ণ কিনা তা নিশ্চিত করতে কিছু বিমূর্ত অর্থে কার্যকর। তবে, এই প্রোগ্রামগুলির উদীয়মান উদ্দেশ্যগুলি সন্ধান করা হয়েছে; বেস স্টেটমেন্টটি বিবেচনা করুন /some/program || /bin/true, যা $? = 0প্রত্যাবর্তনের ক্ষেত্রে কোনও ক্ষেত্রেই সত্য ( ) -র কাছে সর্বদা বুলিয়ান-মূল্যায়ন করবে /some/program।
/bin/falseযেমন আপনি সনাক্ত করেছেন, এর উদীয়মান ব্যবহার হ'ল ব্যবহারকারীদের লগ-ইন করার অনুমতি না দেওয়া শেল হিসাবে this এই ক্ষেত্রে সিস্টেমটি ঠিক তেমন আচরণ করবে যদিও শেলটি চালাতে ব্যর্থ হয়েছিল।
পজিক্স (যদিও আমি ভুল হতে পারি এবং এটি এসইউএসও হতে পারে) এই দুটি কমান্ডই উপযুক্ত বুলিয়ান মানটি ফিরিয়ে দেওয়া ব্যতীত অন্য কিছুই করতে বাধ্য করে।
/sbin/nologinBSD ইউটিলিটি যা /bin/falseবুলিয়ান মিথ্যা প্রদান করে ( যেমনটি বুলিয়ান মিথ্যা দেয়) একই রকম আচরণ করে তবে আউটপুটও প্রিন্ট করে, যেমন /bin/falseকরা নিষিদ্ধ। এটি ব্যবহারকারীকে কী ঘটেছে তা বুঝতে সাহায্য করার কথা রয়েছে যদিও বাস্তবে শেলটি শেষ হলে অনেক টার্মিনাল এমুলেটর কেবল বন্ধ হয়ে যাবে, কিছু ক্ষেত্রে মেসেজটি কেবল পাঠযোগ্য নয় তবে রেন্ডারিং করে।
তালিকাভুক্ত করার খুব কম উদ্দেশ্য /sbin/nologinরয়েছে /etc/shells। এর স্ট্যান্ডার্ড এফেক্টটি /etc/shellsহ'ল chshব্যবহারকারীরা যখন তাদের নিজস্ব শেল পরিবর্তন করছেন তখন (এবং আপনার নিজের শেলটি পরিবর্তন করার কোনও বিশ্বাসযোগ্য কারণ নেই /sbin/nologin) এর সাথে ব্যবহারের জন্য অনুমোদিত প্রোগ্রামগুলি তালিকাভুক্ত করা । সুপারভাইজার যে কারও শেলকে যে কোনও কিছুতে পরিবর্তন করতে পারে। তবে, আপনি উভয় /sbin/nologinএবং /bin/falseভিতরে তালিকা বজায় রাখতে চাইতে পারেন /etc/rsh, যা এই শেলগুলি ব্যবহারকারীদের শেলটি পাওয়া chshদুর্ভাগ্যজনক ইভেন্টে তাদের শেল পরিবর্তন করতে নিষেধ করবে ।
এফটিপি ডিমনগুলি শেলযুক্ত ব্যবহারকারীরা / ইত্যাদি / শেলগুলিতে অ্যাক্সেসটিকে অস্বীকার করতে পারে বা তারা তাদের ইচ্ছা মতো অন্য কোনও যুক্তি ব্যবহার করতে পারে। এফটিপি চালানো যে কোনও ক্ষেত্রে এড়ানো উচিত কারণ sftp(যা অনুরূপ কার্যকারিতা সরবরাহ করে) অনুরূপ তবে সুরক্ষিত। কিছু সাইট এতে /sbin/nologinbyুকিয়ে দিয়ে sftp অ্যাক্সেসের অনুমতি দেওয়ার সময় শেল অ্যাক্সেস অক্ষম করতে ব্যবহার করে /etc/shells। যদি ব্যবহারকারীকে ক্রোনজবস তৈরি করার অনুমতি দেওয়া হয় তবে এটি একটি পিছনের দরজা খুলতে পারে।
উভয় ক্ষেত্রেই, scpএকটি অবৈধ শেল দিয়ে কাজ করবে না। scponlyএই পরিস্থিতিতে শেল হিসাবে ব্যবহার করা যেতে পারে।
অতিরিক্তভাবে, শেলের পছন্দ su -(এ কেএ su -l) এর ক্রিয়াকলাপকে প্রভাবিত করে । বিশেষত, /sbin/nologinএর শেল হলে আউটপুট স্টাডাউটে মুদ্রিত হবে; এটি ক্ষেত্রে হতে পারে না /bin/false। উভয় ক্ষেত্রেই চালানো কমান্ড su -clব্যর্থ হবে।
অবশেষে, উত্তর:
কোনও অ্যাকাউন্ট অক্ষম করার /sbin/nologinজন্য , এগুলির কোনওটির উপর নির্ভর করুন না, তবে তথ্যের উদ্দেশ্যে শেলটি সেট করুন (যদি না /sbin/nologinথাকে তবে /etc/shellsআপনাকে কোন পয়েন্টে ব্যবহার করা উচিত /bin/false, যা হওয়া উচিত নয়)। পরিবর্তে, পাসওয়ার্ড ক্ষেত্র সেট /etc/passwdকরতে !, যা নিশ্চিত করা হয় cryptকোনো পাসওয়ার্ড জন্য বৈধ বলে। /etc/shadowবাগগুলি এড়ানোর জন্য হ্যাশটিকে একইভাবে সেট করা বিবেচনা করুন । passwd -lআপনার জন্য এটি করবে।
কোনও অ্যাকাউন্ট নিষ্ক্রিয় করার তৃতীয় উপায়টি হল অ্যাকাউন্টটির মেয়াদ শেষ হওয়ার তারিখ ক্ষেত্রটি একটি প্রাচীন তারিখে সেট করা (যেমন। usermod --expiredate 1)। আপনার সেটআপ ব্যবহারকারীদের পাসওয়ার্ড ছাড়াই তাদের ইউনিক্স অ্যাকাউন্টের বিরুদ্ধে প্রমাণীকরণের অনুমতি দেয় এবং তারা যে পরিষেবাটি ব্যবহার করছে তাতে শেলের প্রয়োজন নেই এটি লগইনগুলিকে আটকাবে।