/bin/false
এটি একটি ইউটিলিটি প্রোগ্রাম, যার সহচর /bin/true
, যা ইউনিক্স বৈশিষ্ট্য-সম্পূর্ণ কিনা তা নিশ্চিত করতে কিছু বিমূর্ত অর্থে কার্যকর। তবে, এই প্রোগ্রামগুলির উদীয়মান উদ্দেশ্যগুলি সন্ধান করা হয়েছে; বেস স্টেটমেন্টটি বিবেচনা করুন /some/program || /bin/true
, যা $? = 0
প্রত্যাবর্তনের ক্ষেত্রে কোনও ক্ষেত্রেই সত্য ( ) -র কাছে সর্বদা বুলিয়ান-মূল্যায়ন করবে /some/program
।
/bin/false
যেমন আপনি সনাক্ত করেছেন, এর উদীয়মান ব্যবহার হ'ল ব্যবহারকারীদের লগ-ইন করার অনুমতি না দেওয়া শেল হিসাবে this এই ক্ষেত্রে সিস্টেমটি ঠিক তেমন আচরণ করবে যদিও শেলটি চালাতে ব্যর্থ হয়েছিল।
পজিক্স (যদিও আমি ভুল হতে পারি এবং এটি এসইউএসও হতে পারে) এই দুটি কমান্ডই উপযুক্ত বুলিয়ান মানটি ফিরিয়ে দেওয়া ব্যতীত অন্য কিছুই করতে বাধ্য করে।
/sbin/nologin
BSD ইউটিলিটি যা /bin/false
বুলিয়ান মিথ্যা প্রদান করে ( যেমনটি বুলিয়ান মিথ্যা দেয়) একই রকম আচরণ করে তবে আউটপুটও প্রিন্ট করে, যেমন /bin/false
করা নিষিদ্ধ। এটি ব্যবহারকারীকে কী ঘটেছে তা বুঝতে সাহায্য করার কথা রয়েছে যদিও বাস্তবে শেলটি শেষ হলে অনেক টার্মিনাল এমুলেটর কেবল বন্ধ হয়ে যাবে, কিছু ক্ষেত্রে মেসেজটি কেবল পাঠযোগ্য নয় তবে রেন্ডারিং করে।
তালিকাভুক্ত করার খুব কম উদ্দেশ্য /sbin/nologin
রয়েছে /etc/shells
। এর স্ট্যান্ডার্ড এফেক্টটি /etc/shells
হ'ল chsh
ব্যবহারকারীরা যখন তাদের নিজস্ব শেল পরিবর্তন করছেন তখন (এবং আপনার নিজের শেলটি পরিবর্তন করার কোনও বিশ্বাসযোগ্য কারণ নেই /sbin/nologin
) এর সাথে ব্যবহারের জন্য অনুমোদিত প্রোগ্রামগুলি তালিকাভুক্ত করা । সুপারভাইজার যে কারও শেলকে যে কোনও কিছুতে পরিবর্তন করতে পারে। তবে, আপনি উভয় /sbin/nologin
এবং /bin/false
ভিতরে তালিকা বজায় রাখতে চাইতে পারেন /etc/rsh
, যা এই শেলগুলি ব্যবহারকারীদের শেলটি পাওয়া chsh
দুর্ভাগ্যজনক ইভেন্টে তাদের শেল পরিবর্তন করতে নিষেধ করবে ।
এফটিপি ডিমনগুলি শেলযুক্ত ব্যবহারকারীরা / ইত্যাদি / শেলগুলিতে অ্যাক্সেসটিকে অস্বীকার করতে পারে বা তারা তাদের ইচ্ছা মতো অন্য কোনও যুক্তি ব্যবহার করতে পারে। এফটিপি চালানো যে কোনও ক্ষেত্রে এড়ানো উচিত কারণ sftp
(যা অনুরূপ কার্যকারিতা সরবরাহ করে) অনুরূপ তবে সুরক্ষিত। কিছু সাইট এতে /sbin/nologin
byুকিয়ে দিয়ে 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
)। আপনার সেটআপ ব্যবহারকারীদের পাসওয়ার্ড ছাড়াই তাদের ইউনিক্স অ্যাকাউন্টের বিরুদ্ধে প্রমাণীকরণের অনুমতি দেয় এবং তারা যে পরিষেবাটি ব্যবহার করছে তাতে শেলের প্রয়োজন নেই এটি লগইনগুলিকে আটকাবে।