উত্তর:
/etc/passwd
ফাইল হিসাবে একটি ব্যবহারকারীর লাইনে শেষ আইটেম প্রোগ্রাম লগইন উপর চালানো হবে। সাধারণ ব্যবহারকারীদের জন্য এটি সাধারণত /bin/sh
বা অন্যান্য শেল (যেমন বাশ, zsh) এ সেট করা থাকে।
Ditionতিহ্যগতভাবে, প্রক্রিয়া বা ফাইল বা অন্যান্য সংস্থার মালিকানার জন্য ব্যবহৃত পরিচয়গুলির "শেল" এ /bin/false
হিসাবে সেট করা আছে
syslog:x:101:102::/home/syslog:/bin/false
সিউডো-ব্যবহারকারীর সিসলগ মালিকানাধীন /var/log/syslog
এবং একমাত্র ইউআইডি যার পক্ষে এই ফাইলটির লেখার অনুমতি রয়েছে তবে কোনও কমান্ড ইন্টারপ্রেটার চালানোর জন্য ব্যবহারকারী সিসলগ হিসাবে লগ ইন করতে পারবেন না।
আপনি যে প্রশ্নের উত্তর দেওয়ার চেষ্টা করছেন তা সম্পর্কিত:
একটি ব্যবহারকারী জন তৈরি করুন যিনি ইন্টারেক্টিভ শেলটি পান না।
প্রশ্নের অর্থ " john
এমন একটি ব্যবহারকারী তৈরি করুন যা শেল থেকে লগ ইন করতে এবং কমান্ড চালাতে সক্ষম হবে না"। ইন্টারেক্টিভ শেলটি যেভাবে কাজ করে তার বর্ণনা দেয়: ব্যবহারকারী কিছু টাইপ করে এবং শেল সেই অনুযায়ী কিছু করে (ব্যবহারকারী এবং শেলের মধ্যে এক ধরণের যোগাযোগ রয়েছে)। "ইন্টারেক্টিভ" শব্দটি আসলেই প্রশ্নটিতে কোনও তথ্য যুক্ত করে না, কারণ যতক্ষণ না কোনও ব্যবহারকারী টাইপ করার আদেশ রয়েছে ততক্ষণ শেল সেশনটি ইন্টারেক্টিভ হয়।
অ-ইন্টারেক্টিভ মোডটিও রয়েছে, যেখানে ব্যবহারকারীরা একটি ফাইল (শেল স্ক্রিপ্ট নামে পরিচিত) চালাতে চান এমন কয়েকটি কমান্ড সংরক্ষণ করে এবং পরে ফাইলটি কার্যকর করে। শেলটি ইন্টারেক্টিভ বা অ-ইন্টারেক্টিভভাবে চালিত হয় কিনা তার উপর নির্ভর করে কিছু কমান্ড পৃথকভাবে আচরণ করে। আপনি এখানে আরও পড়তে পারেন (এই দস্তাবেজের জন্য bash
, তবে একই ধারণাটি অন্যান্য শাঁসের জন্য প্রযোজ্য)।
কীভাবে এই জাতীয় ব্যবহারকারী তৈরি করবেন, আপনি যদি man useradd
লগিন করেন তবে লগইন শেলটি সেট করার একটি বিকল্প রয়েছে, -s
বা --shell
। আপনি সাধারণত কোনও ব্যবহারকারী তৈরি করতে পারেন, যাইহোক আপনি চান (যা আমি ধরে নিই যে আপনি ইতিমধ্যে জানেন?), তারপরে এমএসডব্লিউর উত্তরের/etc/passwd
মতো সম্পাদনা করুন ।
হ্যাঁ, কিছু প্রোগ্রাম যা হবে পাসওয়ার্ড ফাইলে শেল (/ etc / passwd) পরিবর্তন না একটি শেল পালাবার অনুমতি দেয় না।
আপনি যদি কোনও বোফ / বিন / মিথ্যা হতে চান তবে আপনি যা চান ঠিক তা করবে।
adduser username -s /sbin/nologin