কীভাবে কোনও ব্যবহারকারীকে লগ ইন করতে বাধা দেওয়া যায়, তবে লিনাক্সে "সু - ব্যবহারকারীর" অনুমতি দেয়?


93

আপনি কীভাবে কোনও ব্যবহারকারীকে " su - ব্যবহারকারী " ব্যবহার করে লগ ইন করার অনুমতি দিচ্ছেন তবে এসএসএইচ ব্যবহার করে ব্যবহারকারীকে লগইন করতে বাধা দেন?

আমি শেলটি সেট করার চেষ্টা করেছি /bin/falseকিন্তু যখন আমি চেষ্টা করি suএটি কার্যকর হয় না।

কেবলমাত্র লগইনগুলি দ্বারা অনুমতি দেওয়ার বিভিন্ন উপায় আছে su?

এসএসএইচ কি AllowUserযাওয়ার উপায়? (এটি যাওয়ার উপায় হলে আমি কীভাবে এটি করব)

উত্তর:


113

আপনি ব্যবহার করতে পারেন AllowUsers / AllowGroups যদি আপনি মাত্র কয়েক ব্যবহারকারীগণ / দলের SSH বা মাধ্যমে লগইন করার মঞ্জুরিপ্রাপ্ত তাদের আছে DenyUsers / DenyGroups যদি আপনি মাত্র কয়েক ব্যবহারকারীগণ / দলের থাকে না লগইন করার মঞ্জুরিপ্রাপ্ত। মনে রাখবেন যে এটি কেবল ssh- এর মাধ্যমে লগইনকে সীমাবদ্ধ করে, লগইন করার অন্যান্য উপায়গুলি (কনসোল, ftp, ...) এখনও সম্ভব। বেশিরভাগ ssh ইনস্টলেশনের জন্য আপনার / etc / ssh / sshd_config ফাইলে এই বিকল্পগুলি যুক্ত করতে হবে ।

আপনি যদি লগিন শেলটি / বিন / মিথ্যাতে সেট করে থাকেন তবে আপনি ব্যবহার করতে পারেন su -s /bin/bash user( আপনার পছন্দসই শেলটি দিয়ে / বিন / ব্যাশ প্রতিস্থাপন করুন )


সকলকে অনেক ধন্যবাদ আমি আমার প্রশ্নে 2+ আপগেট পাওয়ার আশা করিনি :) আমি "সু-এস ..." অনেকগুলি পছন্দ করি এবং কনসোল / এফটিপি ভাল পয়েন্ট। আমি আসলে "সু-এস" এর মতো কিছু পরে ছিলাম।
NoozNooz42

3
সু-কৌশলটি সোনার। আমি এটি সিস্টেম অ্যাকাউন্টগুলির জন্য যেমন আমি যেমন অ্যাপাচি, কেউই ইত্যাদির অনুমতি পরীক্ষা করতে পারি তা আমি সর্বদা ব্যবহার করি। আমি সাধারণত ইউএস-ইউজার / বিন / বাশ করি। বিকল্প argument
dmourat

2
আপনার যদি ভার্ডিয়াল ভেরিয়েবলের প্রয়োজন হয় (যেমন / ইত্যাদি / প্রোফাইল থেকে) লোড করতে, একটি অতিরিক্ত ড্যাশ পাস করা এটি করবে:su - -s /bin/bash user
লিওন

13

আপনি যদি এখনও কাজ করতে চান তবে আপনি একটি অস্থায়ী শেল হিসাবে su ব্যবহার করতে পারেন sudo -u [username]বা পাস করতে পারেন -s /bin/bash। শেল প্রবেশের অভাবে তারা দুজনেই একই কাজ করে /etc/passwd


7

যদি কোনও অ্যাকাউন্টে কোনও পাসওয়ার্ড না থাকে ( পাসড-ডি-ব্যবহারকারীর নাম ), তারা ইন্টারেক্টিভভাবে লগ ইন করতে পারবেন না (কনসোল, এসএসএইচ, ইত্যাদি)। তাদের যদি একটি বৈধ শেল থাকে তবে su এখনও কাজ করবে। "ইন্টারেক্টিভলি", যদিও নোট করুন; যদি কেউ এই অ্যাকাউন্টের জন্য কোনও এসএসএইচ কীপেইয়ার সেটআপ করার সিদ্ধান্ত নেয়, এটি কার্যকর হবে!


মামলাটির জন্য ব্যবহারকারীর একটি বৈধ শেল থাকা দরকার? আমি নিশ্চিত যে আপনি অন্য ব্যবহারকারীর কাছে মামলা করার পরে আপনি একই মূল শেলটিতে রয়েছেন ... আপনি অন্য ব্যবহারকারীর মতো লগ ইন করবেন না ... সুতরাং, কেবল শেলটি / ডিভ / নুলে সেট করে কাজ করতে পারে যেমন.
ব্রায়ান পোস্টো

হ্যাঁ, এটির জন্য এখনও একটি বৈধ শেল দরকার: [রুট @ লোকালহোস্ট ~] # সু ডিমন এই অ্যাকাউন্টটি বর্তমানে উপলভ্য নয়। [রুট @ লোকালহোস্ট ~] # স - ডিমন এই অ্যাকাউন্টটি বর্তমানে উপলভ্য নয়। (আরএইচইএল সিস্টেম, ডেমনের শেলটি /
এসবিন

3

Sshd_config এ একটি লাইন যুক্ত করুন DenyUser [username]

নোট করুন যে এটি কনসোলের মাধ্যমে সেই ব্যবহারকারীকে লগ ইন করতে বাধা দেবে না।


1
এটি DenyUsersএকটি 'এর' সাথে হওয়া উচিত ।
ডেভিড জি

2

উপরে উল্লিখিত হয়েছে তা ছাড়াও (লগইন অ্যাক্সেস নিয়ন্ত্রণ করতে পাম_অ্যাক্সেস মডিউল (পাম_এ্যাক্সেস এবং অ্যাক্সেস.কনফ-এ ম্যান পৃষ্ঠা দেখুন) ব্যবহার করা যেতে পারে।


1

অন্যরা যেমন বলেছে;

DenyUser usernameবা এস-এস- DenyGroup groupnameএর sshd_configমাধ্যমে কী-পেয়ার / পাসওয়ার্ড লগইন আটকাতে পারে।

যদিও আমি সাধারণত AllowGroup sshlines লাইনগুলি বরাবর কিছু বা কিছু করি এবং স্পষ্টভাবে এমন লোকগুলিকে যুক্ত করি যাদের group গোষ্ঠীতে ssh অ্যাক্সেস দরকার।

তারপরে, আপনি অন্যদের যেমন বলেছেন তেমন করতে পারেন: passwd -d usernameব্যবহারকারীর পাসওয়ার্ড ফাঁকা রাখতে, যাতে তারা কনসোলে বা অন্য কোনও উপায়ে লগ ইন করতে পারে না। বা passwd -l usernameঅ্যাকাউন্টটি 'লক' করা আরও ভাল । এটি সম্ভব যে এসএসএস এমনকি কীগুলি সহ কোনও লক করা অ্যাকাউন্টে অ্যাক্সেস অস্বীকার করবে, কিন্তু আমি ইতিবাচক নই।


1
প্রকৃতপক্ষে ssh আপনাকে অ্যাকাউন্টের পাসওয়ার্ড লক করা অবস্থায়ও কী প্রমাণীকরণ ব্যবহার করে লগ ইন করতে দেয়।
রিচার্ড হলোয়ে

1

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


1

এডিট / ইত্যাদি / ছায়া যুক্ত করে! পাসওয়ার্ড হ্যাশ এর শুরুতে।

username:!<hash>:#####:#:#####:#:::

নতুন ইনস্টল সুরক্ষিত করার সময় sudo ইনস্টল করার পরে এটি আমি প্রথম কাজ করি, সুতরাং সিস্টেমে লগইন করতে বা ssh করতে কেউ রুট ব্যবহারকারীকে ব্যবহার করতে সক্ষম হয় না, sudo ব্যবহারকারীরা এখনও রুট ব্যবহারকারী হিসাবে কার্যকর করতে পারে।



0

ধরে নিই যে আপনি কেবলমাত্র রুটের অ্যাকাউন্ট থেকে ব্যবহারকারীকে সমর্থন করতে চান এবং অন্য সমস্ত অ্যাক্সেস অক্ষম করতে চান:

এটি ব্যবহার করুন (রুট হিসাবে চালানো):

usermod -e 1 -L user

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


0

কোন প্রক্রিয়াটি সর্বোত্তম তা জানা প্রয়োজনীয়তার উপর নির্ভর করে। আপনি যদি প্রয়োজনীয়তাগুলি জানেন তবে আপনি উপযুক্ত পদ্ধতিটি চয়ন করতে পারেন। উপরের সমস্ত উত্তর কয়েকটি প্রয়োজনীয়তার সেটগুলির জন্য বৈধ।

আপনি কি কেবল এসএসএইচ অ্যাক্সেসকে সীমাবদ্ধ রাখতে চান? আপনার কি মেল বা এসএসএস পদ্ধতির জন্য অ্যাক্সেস দরকার? শুধুমাত্র মূল থেকে অ্যাক্সেস করা?

su - userএটি ব্যবহারকারীর জন্য পাসওয়ার্ডের প্রয়োজন হবে যদি এটি চালানো হয় রুট ব্যতীত অন্য কোনও ব্যবহারকারী। তবে sudo -u user -iব্যবহারকারীর জন্য পাসওয়ার্ডের দরকার নেই।

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