ম্যানুয়ালি / ইত্যাদি / ছায়ার জন্য পাসওয়ার্ড তৈরি করুন


109

/etc/shadowভার্চুয়াল মেশিন চিত্রের অভ্যন্তরে মূল পাসওয়ার্ড পরিবর্তন করতে আমাকে নিজে সম্পাদনা করতে হবে।

এমন কোনও কমান্ড-লাইন সরঞ্জাম আছে যা কোনও পাসওয়ার্ড নেয় এবং /etc/shadowমানসম্মত একটি সামঞ্জস্যপূর্ণ পাসওয়ার্ড হ্যাশ উত্পন্ন করে?

উত্তর:


126

আপনি এর জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন:

পদ্ধতি 1 (এমডি 5, sha256, sha512)

openssl passwd -6 -salt xyz  yourpass

দ্রষ্টব্য: পাসিং -1একটি এমডি 5 পাসওয়ার্ড, -5একটি SHA256 এবং -6SHA512 তৈরি করবে (পুনরায় পুনর্নির্বাচিত)

পদ্ধতি 2 (এমডি 5, sha256, sha512)

mkpasswd --method=SHA-512 --stdin

পদ্ধতি গ্রহণ করে md5, sha-256এবংsha-512

পদ্ধতি 3 (ডেস, এমডি 5, শ 256, শ512)

@ টিঙ্কের পরামর্শ অনুসারে, আমরা ব্যবহার chpasswdকরে পাসওয়ার্ড আপডেট করতে পারি :

echo "username:password" | chpasswd 

অথবা আপনি এর সাথে এনক্রিপ্ট করা পাসওয়ার্ড ব্যবহার করতে পারেন chpasswd। প্রথমে এটি ব্যবহার করে তৈরি করুন:

perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'

তারপরে আপনি আপডেট করতে উত্পন্ন পাসওয়ার্ডটি ব্যবহার করতে পারেন:

echo "username:encryptedPassWd"  | chpasswd -e

এই এনক্রিপ্ট করা পাসওয়ার্ডটি আমরা পাসওয়ার্ড সহ একটি নতুন ব্যবহারকারী তৈরি করতে ব্যবহার করতে পারি, উদাহরণস্বরূপ:

useradd -p 'encryptedPassWd'  username

3
ব্যবহার করার সময় chpasswd -e, আপনার স্ট্রিংয়ের echoমধ্যে একক উক্তি ব্যবহার করতে ভুলবেন না; অন্যথায়, যদি $বা অন্যান্য বিশেষ অক্ষর থাকে তবে তাদের সাথে আক্ষরিক আচরণ করা হবে না।
জাগস

4
নোট করুন যে এগুলি করা আপনার শেল ইতিহাসে শেষ হবে। আমি ব্যবহার করব openssl passwd -1যা 1) সেখানে শেষ হয় না এবং 2) আপনার জন্য এলোমেলো লবণ উত্পন্ন করে (যা শেলের ইতিহাসে শেষ হয় না)।
Ztyx

1
openssl passwd-1বিকল্পটি কী করে তা নির্ধারণের চেষ্টা করার জন্য ডকুমেন্টেশনস ation
সিভিফ্যান

4
একটি SHA-512 হ্যাশ এর জন্য: python3 -c 'import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))'- সম্পর্কিত সার্ভারফল্ট প্রশ্ন থেকে
সিভিফ্যান

9
পদ্ধতি 1) এবং 2) উপরে হ্যাশিংয়ের জন্য MD5 ব্যবহার করে। এমডি 5 কে আর সেরা অনুশীলন হিসাবে বিবেচনা করা হয় না কারণ হ্যাশের সংঘর্ষ হয়েছে। পদ্ধতি 3 ব্যবহার করুন) বা ইউনিক্স.স্ট্যাকেক্সেঞ্জাওয়েটা /a/198906/10911 তে বর্ণিত একটি ।
জেডটিএক্স

36

উবুন্টু ১২.০৪-তে, এমকিপাসউইড রয়েছে (হুইস প্যাকেজ থেকে): ক্রিপ্টের জন্য ওভারফেটেড ফ্রন্ট এন্ড (3)

mkpasswd  -m sha-512 -S saltsalt -s <<< YourPass

কোথায়:

  • -m= টিওয়াইপি পদ্ধতি ব্যবহার করে পাসওয়ার্ডটি গণনা করুন। যদি টিওয়াইপি সাহায্য হয় তবে উপলভ্য পদ্ধতিগুলি মুদ্রিত হয়।
  • -S = লবণের ব্যবহার।

যেমন

$ mkpasswd -m help

-s = Read password from stdin

8
লবণের উল্লেখ করার দরকার নেই, এমকেপাসডাব্ল্যান্ড একটি এলোমেলো উত্পাদন করার জন্য যত্ন নেয়।
এসই

1
যাই হোক না কেন, mkpasswd থেকে উত্পন্ন পাসওয়ার্ডগুলি / ইত্যাদি / পাসডাব্লুডিতে অনুলিপি করা সর্বদা ব্যর্থ হয়। এম কেপাসওয়ুইড দ্বারা নির্মিত হ্যাশটি সঠিক কিনা তা পরীক্ষা করার কোনও উপায় আছে?
সিএমসিডিগ্রাগনকাই

@ সিএমসিডিগ্রাগনকাই: ভুল প্রশ্ন। আপনার সিস্টেমটি কী প্রত্যাশা করছে তা আপনাকে জিজ্ঞাসা করতে হবে।
ব্যবহারকারী 3183018

1
@ তো 마 এসই: লবণ নিয়ন্ত্রণে এটি সময়সাথে কার্যকর। আমি যখন আলাদা স্টোরে লবণ সংরক্ষণ করতাম তখন ওয়েব অ্যাপ্লিকেশনটির জন্য পাসওয়ার্ডগুলির পাসওয়ার্ডগুলি পরীক্ষার সময় আমি এটি ব্যবহার করেছি। যেমন মাইএসকিউএল ডিবিতে পাসওয়ার্ড হ্যাশ করেছে, এবং রেডিসে প্রতি ব্যবহারকারী নুন।
user3183018

15

এই সমাধানের নিম্নলিখিত সুবিধা রয়েছে:

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

    $ 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.')"
    

তথ্যসূত্র


3

ডেবিয়ান ভিত্তিক সিস্টেম ছাড়া তাদের জন্য For পাইথন 3 ঠিক পাশাপাশি কাজ করে।

python3 -c 'import crypt; print(crypt.crypt("test"))'

দ্রষ্টব্য: স্ট্রিং "টেস্ট" হ'ল পাসওয়ার্ড যা আমরা একটি ক্রিপ্টযুক্ত স্ট্রিং হিসাবে তৈরি করি।


কিছু কারণে crypt.mksaltপাসওয়ার্ড তৈরি করার সময় ব্যবহার করা কার্যকর হয় না /etc/shadow। তবে @ Alex131089 এর পদ্ধতিটি কার্যকর!
16:42 এ মলিং আইনগুলি

আমি মন্তব্যটি লক্ষ্য করার আগে এই পদ্ধতিটি ব্যবহার করে সবে 1.5 ঘন্টা নষ্ট করছি। কেউ কি এটি সরাতে পারবেন? আমি এখনও ডাউন ডাউন করতে পারি না
মাইচা এফ

1
@ মাইখাłএফ মনে হচ্ছে এটি কাজ করছে না কারণ স্যালটিং সঠিকভাবে করা হয়নি। এই বিষয়টি চিহ্নিত করার জন্য ধন্যবাদ. আমি লবণ অপসারণ করেছি কারণ সল্টিং ওএসের উপর নির্ভরশীল এবং আমার উত্তরে ওএসের সমস্ত রেঞ্জের জন্য অ্যাকাউন্টিং করা ব্যবহারিক নয়। আপনি @ রাহুলপাতিলের দ্বারা বর্ণিত পদ্ধতি 1 ব্যবহার করা উচিত কারণ এটি আপনাকে সল্টিং ব্যবহার করতে দেয় এবং opensslএটি একটি দুর্দান্ত সার্বজনীন সরঞ্জাম।
গ্রেগ

প্রস্তাবিত নয়, কারণ এটি আপনার পাসওয়ার্ডটি শেল ইতিহাসে ফেলেছে।
মার্ক স্টসবার্গ

মানে, আপনি সর্বদা আপনার শেল ইতিহাস থেকে সেন্টিমিডি সাফ করতে পারেন
গ্রেগ

3

বর্তমানের কোনও পদ্ধতিই আমার কাছে গ্রহণযোগ্য নয় - তারা হয় কমান্ড লাইনে পাসওয়ার্ডটি পাস করে (যা আমার শেলের ইতিহাসে শেষ হয়) অতিরিক্ত ইউটিলিটিগুলি ( 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))+"$")'

2
কমান্ডের ইতিহাসে পাসওয়ার্ডটি এড়ানোর জন্য, আপনি পরিবেশ পরিবর্তনশীল এইচআইএসটি কনট্রোলকে 'উপেক্ষাস্পেসে' সেট করতে পারেন এবং তারপরে কমান্ডের সামনে একটি শীর্ষস্থান যোগ করতে পারেন।
adam820

@ অ্যাডাম ৮২০: এটি একটি উপায় ... psকমান্ডটি চলমান এটি একটি সেকেন্ডের ভগ্নাংশে আউটপুটে থাকবে। (পাসওয়ার্ডের জন্য অনুরোধ করা সংস্করণটি ব্যবহার করা সবচেয়ে নিরাপদ রয়েছে)
গার্ট ভ্যান ডান বার্গ

2

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:::

1

তবুও পাসওয়ার্ড তৈরির অন্য একটি পদ্ধতি, opensslসরঞ্জামটি ব্যবহার করছে ।

MD5 পাসওয়ার্ড তৈরি করুন

openssl passwd -1 -salt SaltSalt SecretPassword
# output: $1$SaltSalt$FSYmvnuDuSP883uWgYBXW/

ডিইএস পাসওয়ার্ড তৈরি করুন

openssl passwd -crypt -salt XR SuprScrt
# output: XR1dOp2EVMph2

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

3
স্নোডেনের উদ্ধৃতি দিয়েছিলেন: "ধরুন আপনার প্রতিপক্ষ প্রতি সেকেন্ডে এক ট্রিলিয়ন অনুমান করতে সক্ষম।" সম্পূর্ণরূপে অযৌক্তিক নয় 70০-অক্ষরের চরসেট এবং সম্পূর্ণরূপে এলোমেলো পাসওয়ার্ড সহ, এটি 576 সেকেন্ড - দশ মিনিটেরও কম। এমনকি একটি কম সক্ষম কিন্তু দৃ determined়প্রতিজ্ঞ বিরোধী বিরুদ্ধে, এটি ভীতিজনকভাবে অপর্যাপ্ত
সিভিএন

এটি খুব নিরাপদ নয়, কারণ MD5 এবং DES ...
অ্যাডামকালিস

DES পাসওয়ার্ডগুলি কীভাবে এনক্রিপ্ট করা যায় তা দেখানোর একমাত্র উত্তর হওয়ার জন্য ধন্যবাদ! আইপি ক্যামেরা ফার্মওয়্যারের জন্য মূল পাসওয়ার্ডকে ওভাররাইড করার চেষ্টা করার জন্য খুব দরকারী Very
মালভিনিয়াস

1

U150825 এবং জের্ট ভ্যান ড্যান বার্গের সমালোচনা সম্পর্কে কিছুটা প্রসারিত করে আমি নিজেকে বিভিন্ন অটোমেশন সিস্টেমের সাথে বিভিন্ন পরিস্থিতিতে তুলনামূলকভাবে নমনীয় কিছু প্রয়োজন বলে মনে করি। আমি স্থির করেছি যে আমি দরকারী স্ক্রিপ্টগুলির নিজস্ব নিজস্ব লাইব্রেরিতে যুক্ত করব এবং এটি লিখব। এটি পাইথন ২.7++ থেকে কেবল নেটিভ লাইব্রেরি ব্যবহার করে এবং পাইথন 3-তেও কাজ করে।

আপনি চাইলে এটি এখানে নিতে পারেন। আপনার পরিবেশে এটি ছেড়ে দেওয়া ঠিক ততই সহজ, যদি আপনি এটি ব্যবহার করতে খুব প্রয়োজন, HTTP হোস্ট করা বা যা-ই হোক না কেন এবং যে প্ল্যাটফর্মের জন্য আপনি যে ডিফল্ট অজগর অনুবাদককে আপনার কাছে পাওয়া গেছে তা ব্যবহার করে আপনি এটি কোনও প্ল্যাটফর্মে চালাতে পারেন pretty নির্ভরযোগ্যভাবে এটি কাজ করে গণনা।

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


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