/etc/shadow
ভার্চুয়াল মেশিন চিত্রের অভ্যন্তরে মূল পাসওয়ার্ড পরিবর্তন করতে আমাকে নিজে সম্পাদনা করতে হবে।
এমন কোনও কমান্ড-লাইন সরঞ্জাম আছে যা কোনও পাসওয়ার্ড নেয় এবং /etc/shadow
মানসম্মত একটি সামঞ্জস্যপূর্ণ পাসওয়ার্ড হ্যাশ উত্পন্ন করে?
/etc/shadow
ভার্চুয়াল মেশিন চিত্রের অভ্যন্তরে মূল পাসওয়ার্ড পরিবর্তন করতে আমাকে নিজে সম্পাদনা করতে হবে।
এমন কোনও কমান্ড-লাইন সরঞ্জাম আছে যা কোনও পাসওয়ার্ড নেয় এবং /etc/shadow
মানসম্মত একটি সামঞ্জস্যপূর্ণ পাসওয়ার্ড হ্যাশ উত্পন্ন করে?
উত্তর:
আপনি এর জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন:
openssl passwd -6 -salt xyz yourpass
দ্রষ্টব্য: পাসিং -1
একটি এমডি 5 পাসওয়ার্ড, -5
একটি SHA256 এবং -6
SHA512 তৈরি করবে (পুনরায় পুনর্নির্বাচিত)
mkpasswd --method=SHA-512 --stdin
পদ্ধতি গ্রহণ করে md5
, sha-256
এবংsha-512
@ টিঙ্কের পরামর্শ অনুসারে, আমরা ব্যবহার chpasswd
করে পাসওয়ার্ড আপডেট করতে পারি :
echo "username:password" | chpasswd
অথবা আপনি এর সাথে এনক্রিপ্ট করা পাসওয়ার্ড ব্যবহার করতে পারেন chpasswd
। প্রথমে এটি ব্যবহার করে তৈরি করুন:
perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'
তারপরে আপনি আপডেট করতে উত্পন্ন পাসওয়ার্ডটি ব্যবহার করতে পারেন:
echo "username:encryptedPassWd" | chpasswd -e
এই এনক্রিপ্ট করা পাসওয়ার্ডটি আমরা পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী তৈরি করতে ব্যবহার করতে পারি, উদাহরণস্বরূপ:
useradd -p 'encryptedPassWd' username
openssl passwd -1
যা 1) সেখানে শেষ হয় না এবং 2) আপনার জন্য এলোমেলো লবণ উত্পন্ন করে (যা শেলের ইতিহাসে শেষ হয় না)।
python3 -c 'import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))'
- সম্পর্কিত সার্ভারফল্ট প্রশ্ন থেকে
উবুন্টু ১২.০৪-তে, এমকিপাসউইড রয়েছে (হুইস প্যাকেজ থেকে): ক্রিপ্টের জন্য ওভারফেটেড ফ্রন্ট এন্ড (3)
mkpasswd -m sha-512 -S saltsalt -s <<< YourPass
কোথায়:
-m
= টিওয়াইপি পদ্ধতি ব্যবহার করে পাসওয়ার্ডটি গণনা করুন। যদি টিওয়াইপি সাহায্য হয় তবে উপলভ্য পদ্ধতিগুলি মুদ্রিত হয়।-S
= লবণের ব্যবহার।যেমন
$ mkpasswd -m help
-s = Read password from stdin
এই সমাধানের নিম্নলিখিত সুবিধা রয়েছে:
ভুল এড়ানোর জন্য পাসওয়ার্ডটির পুনরায় অনুরোধ জানানো হয়।
$ python3 -c "from getpass import getpass; from crypt import *; \
p=getpass(); print('\n'+crypt(p, METHOD_SHA512)) \
if p==getpass('Please repeat: ') else print('\nFailed repeating.')"
ডেবিয়ান ভিত্তিক সিস্টেম ছাড়া তাদের জন্য For পাইথন 3 ঠিক পাশাপাশি কাজ করে।
python3 -c 'import crypt; print(crypt.crypt("test"))'
দ্রষ্টব্য: স্ট্রিং "টেস্ট" হ'ল পাসওয়ার্ড যা আমরা একটি ক্রিপ্টযুক্ত স্ট্রিং হিসাবে তৈরি করি।
crypt.mksalt
পাসওয়ার্ড তৈরি করার সময় ব্যবহার করা কার্যকর হয় না /etc/shadow
। তবে @ Alex131089 এর পদ্ধতিটি কার্যকর!
openssl
এটি একটি দুর্দান্ত সার্বজনীন সরঞ্জাম।
বর্তমানের কোনও পদ্ধতিই আমার কাছে গ্রহণযোগ্য নয় - তারা হয় কমান্ড লাইনে পাসওয়ার্ডটি পাস করে (যা আমার শেলের ইতিহাসে শেষ হয়) অতিরিক্ত ইউটিলিটিগুলি ( python3
, makepasswd
) ইনস্টল করার প্রয়োজন হয় , হার্ড-কোডেড লবণের ব্যবহার করতে হবে বা পুরাতন হ্যাশিং কৌশল ব্যবহার করুন।
এই পদ্ধতিটি পাসওয়ার্ডের জন্য অনুরোধের পরে SHA-512 হ্যাশগুলি উত্পন্ন করবে এবং এলোমেলো লবণ ব্যবহার করবে।
পাইথন 2 ব্যবহারের কোনও পদ্ধতি কোনও মানহীন লাইব্রেরি ছাড়াই:
python2 -c 'import crypt, getpass,os,base64; print crypt.crypt(getpass.getpass(), "$6$"+base64.b64encode(os.urandom(16))+"$")'
প্রম্পট ছাড়াই এটি করতে: (এটি আপনার পাসওয়ার্ড কমান্ডের ইতিহাসে ছেড়ে দেবে)
python2 -c 'import crypt, os,base64; print crypt.crypt("MyPassword", "$6$"+base64.b64encode(os.urandom(16))+"$")'
ps
কমান্ডটি চলমান এটি একটি সেকেন্ডের ভগ্নাংশে আউটপুটে থাকবে। (পাসওয়ার্ডের জন্য অনুরোধ করা সংস্করণটি ব্যবহার করা সবচেয়ে নিরাপদ রয়েছে)
openssl
এবং chpasswd -e
যুগল RHEL6 মধ্যে আমার ক্ষেত্রে কাজ করে নি। সম্মিলন openssl passwd
এবং usermod -p
কমান্ড কাজ করেছে।
লবণের সাথে পাসওয়ার্ডের হ্যাশ মান উত্পন্ন করুন:
$ openssl passwd -1 -salt 5RPVAd clear-text-passwd43
$1$5RPVAd$vgsoSANybLDepv2ETcUH7.
তারপরে, এনক্রিপ্ট করা স্ট্রিংটি ইউজারমোডে অনুলিপি করুন। একক উদ্ধৃতি দিয়ে এটি মোড়ানো নিশ্চিত করুন।
$ usermod -p '$1$5RPVAd$vgsoSANybLDepv2ETcUH7.' root
শ্যাডো ফাইলে এটি পরীক্ষা করে দেখুন।
$ grep root /etc/shadow
root:$1$5RPVAd$vgsoSANybLDepv2ETcUH7.:17774:0:99999:7:::
তবুও পাসওয়ার্ড তৈরির অন্য একটি পদ্ধতি, openssl
সরঞ্জামটি ব্যবহার করছে ।
MD5 পাসওয়ার্ড তৈরি করুন
openssl passwd -1 -salt SaltSalt SecretPassword
# output: $1$SaltSalt$FSYmvnuDuSP883uWgYBXW/
ডিইএস পাসওয়ার্ড তৈরি করুন
openssl passwd -crypt -salt XR SuprScrt
# output: XR1dOp2EVMph2
U150825 এবং জের্ট ভ্যান ড্যান বার্গের সমালোচনা সম্পর্কে কিছুটা প্রসারিত করে আমি নিজেকে বিভিন্ন অটোমেশন সিস্টেমের সাথে বিভিন্ন পরিস্থিতিতে তুলনামূলকভাবে নমনীয় কিছু প্রয়োজন বলে মনে করি। আমি স্থির করেছি যে আমি দরকারী স্ক্রিপ্টগুলির নিজস্ব নিজস্ব লাইব্রেরিতে যুক্ত করব এবং এটি লিখব। এটি পাইথন ২.7++ থেকে কেবল নেটিভ লাইব্রেরি ব্যবহার করে এবং পাইথন 3-তেও কাজ করে।
আপনি চাইলে এটি এখানে নিতে পারেন। আপনার পরিবেশে এটি ছেড়ে দেওয়া ঠিক ততই সহজ, যদি আপনি এটি ব্যবহার করতে খুব প্রয়োজন, HTTP হোস্ট করা বা যা-ই হোক না কেন এবং যে প্ল্যাটফর্মের জন্য আপনি যে ডিফল্ট অজগর অনুবাদককে আপনার কাছে পাওয়া গেছে তা ব্যবহার করে আপনি এটি কোনও প্ল্যাটফর্মে চালাতে পারেন pretty নির্ভরযোগ্যভাবে এটি কাজ করে গণনা।
এটি স্টেডারর প্রম্পট (স্টাডাউটকে সহজে ক্যাপচারের অনুমতি দেয়) সহ গেটপাস ব্যবহারের অনুরোধ জানাতে ডিফল্ট হয়, তবে আপনি যদি স্ট্রিংটি পাইপ করেন তবে এটি কেবল স্টিডিনের কাছ থেকে কাটবে। আপনি এটি কীভাবে চালাচ্ছেন তার উপর নির্ভর করে এটি কমান্ডের ইতিহাসে প্রদর্শিত হচ্ছে না, তাই, আপনি কী কাজ করছেন তা সম্পর্কে কেবল জ্ঞানীয় হন। আমি নমনীয় সরঞ্জামটি পছন্দ করি যা প্রত্যাশিতভাবে আচরণ করবে, প্যাকেজগুলির উপর নির্ভর করা বা পাইথনের উপর নির্ভর করতে আমার একা-লাইনে বিজয়ী হওয়ার পথে 10 টি ভিন্ন উপায়।
chpasswd
?
chpasswd -e
, আপনার স্ট্রিংয়েরecho
মধ্যে একক উক্তি ব্যবহার করতে ভুলবেন না; অন্যথায়, যদি$
বা অন্যান্য বিশেষ অক্ষর থাকে তবে তাদের সাথে আক্ষরিক আচরণ করা হবে না।