একটি লিনাক্স ব্যবহারকারী কি বর্তমান পাসওয়ার্ড না জেনে তাদের পাসওয়ার্ড পরিবর্তন করতে পারবেন?


25

আমি কয়েকটি ubuntuবাক্স সেট আপ করছি এবং ওপস্কোডকে chefএকটি কনফিগারেশন সরঞ্জাম হিসাবে ব্যবহার করছি । এই প্রতিটি সার্ভারে প্রতিটি ব্যবহারকারীর জন্য সর্বজনীন কীগুলি ইনস্টল করা এবং পাসওয়ার্ড প্রমাণীকরণ অক্ষম করা মোটামুটি সহজ।

তবে, ব্যবহারকারীদের sudoযদিও সুবিধাগুলি থাকা উচিত , যা ডিফল্টরূপে একটি পাসওয়ার্ডের প্রয়োজন।

আমি অ্যাক্সেস ম্যানেজমেন্ট পদ্ধতি হিসেবে ব্যবহারকারীদের সার্বজনিক কী ব্যবহার করতে চান এবং ব্যবহারকারীদের অনুমতি দিলে sudoবিশেষাধিকার, তার মানে আমি আপ ব্যবহারকারীদের সাথে সেট করা উচিত নয় NOPASSWD: ALLমধ্যে visduo, অথবা একটি উপায় আছে যে যদি কোনও ব্যবহারকারী যদি তাদের নিজস্ব পাসওয়ার্ড পরিবর্তন করতে পারেন তারা শুধুমাত্র পাবলিক কী প্রমাণীকরণ আছে?



@ এসআর - দেখে মনে হচ্ছে না এটি এটি করার একটি মূলধারার উপায় ...
সিডব্লিউড

আপনি কেন আপনার ব্যবহারকারীদের সুডো প্রাইভেলিজ রাখতে চান? আমি আশা করি আপনি সচেতন যে আপনি এটির মাধ্যমে কোনও মূল অ্যাক্সেস দিয়েছেন। এখানে কিছু সময় বিনিয়োগ করার সুযোগ থাকতে পারে এবং সুডোর (যা সম্ভবত কম নিরাপত্তাহীন হতে পারে) এর সাথে ব্যবহার করার জন্য কেবলমাত্র কমান্ডের একটি উপসেট ব্যবহার করার অনুমতি দেয়। গো man sudoersব্যবহারকারীর পাসওয়ার্ডের প্রয়োজনীয়তা ছাড়াই কিছু কমান্ড সুডো দিয়ে চালাতে সক্ষম হবে সে সম্পর্কে তথ্য পাবেন। এমনকি আপনি / etc / sudoers এ একটি শেলসক্রিপ্ট যোগ করতে পারেন যা কোনও ব্যবহারকারীকে পূর্বের পাসওয়ার্ডের প্রয়োজন ছাড়াই "স্ব-পাসওয়ার্ড" সেটিংয়ের অনুমতি দেয়।
মানবতাআন্ডপিস 12 ই

@ অমানবিক অ্যান্ডপিস - আমি এটি উপলব্ধি করেছি। আমাদের টিমের সদস্যদের সকলকে আমরা রক্ষণাবেক্ষণ করা ক্লাউড সার্ভারগুলিতে রুট অ্যাক্সেসের প্রয়োজন। আমরা এখন ব্যবহারকারীর পাবলিক কীগুলি পরিচালনা করতে শেফ ব্যবহার করছি এবং আমাদের দলের একটি সিসাদমিন গ্রুপ রয়েছে NOPASSWD: ALLযার সাথে দলের সদস্যরা অংশ নিচ্ছেন । আপনি যদি আরও ভাল সমাধানের পরামর্শ দিতে পারেন তবে দয়া করে এটি উত্তর হিসাবে পোস্ট করুন।
cwd

উত্তর:


21

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

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

কোনও ব্যবহারকারীকে সাধারণত তার বর্তমান পাসওয়ার্ডটি অন্য পাসওয়ার্ডে পরিবর্তন করতে হয় তা জানতে হবে। passwdপ্রোগ্রাম এই যাচাই (এটা না দানের জন্য কনফিগার করা যায়, কিন্তু এই দরকারী অথবা আপনার দৃশ্যকল্প সমস্ত কাম্য হয় না)। তবে, রুটটি কোনও পুরানো নামটি না জেনে যে কোনও ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে পারে; অতএব সুডো শক্তিযুক্ত ব্যবহারকারী passwdপ্রম্পটে প্রবেশ না করেই নিজের পাসওয়ার্ডটি চালিয়ে চালিয়ে দিতে পারেন sudo passwd $USER। যদি sudoব্যবহারকারীর পাসওয়ার্ডের জন্য কনফিগার করা থাকে তবে অবশ্যই ব্যবহারকারীকে sudoযেভাবেই পাসওয়ার্ডটি টাইপ করতে হবে ।

আপনি নির্বাচিতভাবে পাসওয়ার্ড প্রমাণীকরণ অক্ষম করতে পারেন। আপনার পরিস্থিতিতে, আপনি ssh এবং সম্ভবত অন্যান্য পরিষেবাদিতে পাসওয়ার্ড প্রমাণীকরণ অক্ষম করবেন। বেশিরভাগ আধুনিক ইউনিয়নে (উবুন্টু সহ) বেশিরভাগ পরিষেবাগুলি প্রমাণীকরণের পদ্ধতিগুলি কনফিগার করতে PAM ব্যবহার করে। উবুন্টুতে, পিএএম কনফিগারেশন ফাইলগুলি বাস করে /etc/pam.d। পাসওয়ার্ড প্রমাণীকরণ অক্ষম করতে, auth … pam_unix.soলাইনে মন্তব্য করুন /etc/pam.d/common-auth। তদ্ব্যতীত, নিশ্চিত করুন যে আপনি আছে কি না নিশ্চিত PasswordAuthentication noমধ্যে /etc/ssh/sshd_configনিষ্ক্রিয় sshd কমান্ড এর বিল্ট-ইন পাসওয়ার্ড প্রমাণীকরণ করতে।

আপনি কিছু প্রশাসনিক ব্যবহারকারীকে পাসওয়ার্ড দিয়ে লগ ইন করতে বা কনসোলে পাসওয়ার্ড প্রমাণীকরণের অনুমতি দিতে চাইতে পারেন। প্যামের মাধ্যমে এটি সম্ভব (এটি বেশ নমনীয়) তবে আমি আপনাকে জানাতে পারিনি যে আমার মাথার উপরের অংশটি কীভাবে বন্ধ রয়েছে; আপনার সাহায্যের প্রয়োজন হলে একটি পৃথক প্রশ্ন জিজ্ঞাসা করুন।


এসএমএইচ কী প্রমাণীকরণের সাথে পিএএম ব্যবহারের একটি সুবিধাজনক উপায় হল পাম_এসএইচ_এজেন্ট_আউথের মাধ্যমে , এতে পাসওয়ার্ড প্রম্পটটি প্রতিস্থাপনের সুবিধা রয়েছে (তাত্ত্বিকভাবে আরও সুরক্ষিত) কী প্রমাণীকরণ এসএসএইচ যেভাবেই ব্যবহার করতে পারে
টোবিয়াস কেইনজলার

সুতরাং আপনি বলছেন sudo passwdযে বর্তমান ব্যবহারকারীর জন্য পাসওয়ার্ড বদলাবে, সুডো ব্যবহারকারীর জন্য নয়?
এখনও_ড্রিমিং_1

1
@ still_dreaming_1 না, আমি বলছি যে কোনও ব্যবহারকারীর সাথে কমান্ড চালানো sudoযেতে পারে তার নিজস্ব পাসওয়ার্ড পরিবর্তন করতে পারে। সঠিক কমান্ডটি আসলে কিছু যায় আসে না, তবে আরও বিশদে যাওয়ার জন্য এটি ব্যবহারকারীর নাম বা সমতুল্য কিছু sudo passwd bobকোথায় bob। কোনও যুক্তি ছাড়াই, sudo passwdমূলের জন্য পাসওয়ার্ডটি বদলে দেওয়া হবে।
গিলস

7

আপনি পাম_এসএইচ_এজেন্ট_আউথ মডিউলটি ব্যবহার করতে পারেন । এটি সংকলন করা বেশ সহজ, এবং তারপরে কেবল এন্ট্রি যুক্ত করুন

auth       sufficient pam_ssh_agent_auth.so file=~/.ssh/authorized_keys

অন্যান্য auth(বা include) প্রবেশের আগে/etc/pam.d/sudo

এবং

Defaults    env_keep += "SSH_AUTH_SOCK"

to /etc/sudoers(মাধ্যমে visudo)

এখন প্রতিটি ব্যবহারকারী হয় হয় sudo(ফরোয়ার্ড বা স্থানীয়) এসএসএইচ এজেন্ট বা তাদের পাসওয়ার্ডের মাধ্যমে প্রমাণীকরণ করতে পারে। আপনার ব্যবহারকারীদের এমন ব্যবহার করতে বলাই বুদ্ধিমানের কাজ হতে পারে ssh-add -cযে প্রতিটি sudoকলকে কমপক্ষে কিছু নিশ্চিতকরণের প্রয়োজন হবে।


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

1

হ্যাঁ, এটি অবিশ্বাস্যরকমভাবে নিরাপত্তাহীন এবং ব্যবহারকারীকে অন্যান্য ব্যবহারকারীর পাসওয়ার্ড অ্যাক্সেস করার অনুমতি দেয়, তবে যেহেতু তাদের মধ্যে সুডো রয়েছে, আপনি তেমন কিছু করতে পারবেন না।

মূলত, আপনি নিম্নলিখিত:

$ sudo -i

এখন, আমরা মূল। আমাদের সকল কিছুর অ্যাক্সেস আছে।

# passwd $username

$ ব্যবহারকারীর নাম যে কারও ব্যবহারকারীর নাম হতে পারে।

নতুন ইউনিক্স পাসওয়ার্ড লিখুন:

নতুন ইউনিক্স পাসওয়ার্ড পুনরায় টাইপ করুন: পাসডাব্লুড: পাসওয়ার্ড সফলভাবে আপডেট হয়েছে

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


দেখতে ভাল লাগছে তবে এখানে কী চলছে তা আপনি বিশদভাবে বলতে পারবেন?
সিডব্লিউডি

4
sudo -iবর্তমান ব্যবহারকারীর পাসওয়ার্ড ছাড়া এটি করা সম্ভব নয় ।
ক্রাভেমির

@Miro। এটা যেমন আপনি বলেন। এখনও একটি sudo bashপাসওয়ার্ডহীন হতে পারে যে সেটআপ /etc/sudoersফাইল হিসাবে তাই । আমি মনে করি @jrg এখানে আরো উবুন্টু সঙ্গে নিরাপত্তাহীনতা বিষয়ে মনোযোগ যেমন বলেছেন
humanityANDpeace

1
সত্যই, আপনাকে করতে হবে না sudo -i, আপনি সরাসরি sudo passwd $username@ মিরোতে লাফিয়ে উঠতে পারেন, আপনার বর্তমান ব্যবহারকারীর পাসওয়ার্ড জানতে হবে না। সুডো ব্যবহার করতে আপনাকে কেবল মূল পাসওয়ার্ড জানতে হবে
অ্যান্টনি

0

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

আমি আপনাকে এটি সহজ রাখার পরামর্শ দিচ্ছি: সম্ভবত কোনও ব্যবহারকারীকে এএসএপ পরিবর্তন করার জন্য কঠোর নির্দেশাবলীর সাথে ডিফল্ট পাসওয়ার্ড ইমেল করুন, অথবা অন্যথায় তাদের .profileবা .loginবা এমন কোনও স্ক্রিপ্ট সন্নিবেশ করুন যাতে এটি তাদের প্রথম লগইনে একটি নতুন পাসওয়ার্ডের দাবি করে। এটি সম্পন্ন হলে এটি নিজেকে অক্ষম করতে পারে এবং আপনি expectবিদ্যমান পাসওয়ার্ডটি প্রবেশ করতে ব্যবহার করতে পারেন যাতে তাদের এটি জানতে না হয়।


0
#% useradd -g somegroup someuser
#% usermod -p "" someuser
#% chage -d 0 someuser
#% sed -i "s/^.*PasswordAuthentication .*/PasswordAuthentication no/" /etc/sshd/sshd_config
#% /sbin/service sshd restart
#% cp -r ~/.ssh `echo ~someuser`
#% chown -R someuser `echo ~someuser`/.ssh
#% chgrp -R somegroup `echo ~someuser`/.ssh
#% echo "%somegroup  ALL=(ALL)   ALL" >> /etc/sudoers

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

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