Usermod का उपयोग करके पासवर्ड कैसे बदलें?


10

मैं एक सर्वर का सुपरडैमिन हूं और मौजूदा उपयोगकर्ता का पासवर्ड बदलना पसंद करता हूं। मैं उसे कैसे कर सकता हूँ ?

मैंने कोशिश की

usermod -p 'new-password' john

लेकिन यह काम नहीं किया?


सबसे अच्छा जवाब यहां है: askubuntu.com/a/80447/55435 , टिप्पणियों को चेकआउट करने के लिए ध्यान दें
ryenus

जवाबों:


17

usermod -pझंडा पासवर्ड पहले से ही एक एन्क्रिप्टेड स्वरूप में होना करने के लिए डेटा की उम्मीद है।

openssl passwdएन्क्रिप्टेड डेटा उत्पन्न करने के लिए उपयोग करें , या इसे इस तरह से करें:

usermod -p `openssl passwd` (USERNAME)

openssl passwd0 से 10 वर्णों के पासवर्ड की अपेक्षा करता है।
15

6

इसका कारण यह नहीं था क्योंकि usermod's -p विकल्प पासवर्ड को पहले से ही एन्क्रिप्ट किए जाने की उम्मीद करता है।

से usermodकी आदमी पेज:

 -p, --password PASSWORD
       The encrypted password, as returned by crypt(3).

इस तरह से पासवर्ड सेट करने की अनुशंसा नहीं की जाती है।

इसके बजाय आपको उपयोग करना चाहिए passwd <username>। इसे (के रूप में usermod) रूट के रूप में किया जाना चाहिए ( यदि आप वर्तमान में उपयोगकर्ता पासवर्ड में लॉग इन नहीं कर रहे हैं)।

उपयोगकर्ता फू के लिए पासवर्ड बदलने के लिए।

sudo passwd foo

यह नए पासवर्ड के लिए संकेत देगा।

passwdउदाहरण के लिए समय समाप्त करने के बारे में अधिक जानकारी के लिए मैन-पेज पर एक नज़र डालें ।

शुभ लाभ!


6

आप उपयोग कर सकते हैं passwd:

sudo passwd USERNAME 

sudoयदि आप खुद सुपरसियर हैं तो आपको इसकी आवश्यकता नहीं है


sudoरूट पासवर्ड की आवश्यकता है :)
अचू

@ अचू: यह वर्तमान उपयोगकर्ता पासवर्ड की आवश्यकता है। लेकिन वह सुपरसुसर है।
रियाद

क्या superuserप्रतिनिधित्व करता है ?
Achu

3

Usermod के साथ एक पासवर्ड असाइन करने का तरीका (जो ओपी वास्तव में पूछा गया है) तर्क के crypt()लिए एक हैशेड पासवर्ड का उपयोग करना -pहै।

SALT="Q9"
PLAINTEXT="secret_password"
HASH=$(perl -e "print crypt(${PLAINTEXT},${SALT})")
echo "Password Hash = \"${HASH}\""

फिर अपने usermod -pकमांड लाइन तर्क में इसका उपयोग करें :

usermod -p ${HASH} john

2

उपयोगकर्ता का पासवर्ड बदलने के लिए एक गैर-संवादात्मक एकल लाइन कमांड:

sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john

usermod -pकाम करने के लिए एन्क्रिप्टेड पासवर्ड की आवश्यकता है। कृपया ध्यान दें कि new-passwordउन उपयोगकर्ताओं के लिए दृश्यमान होगा जो प्रक्रियाओं को सूचीबद्ध कर सकते हैं।


2

यहाँ कुछ जोड़ा जाना चाहिए जो निम्नलिखित है। यह विधि:

सूद usermod -p perl -e "print crypt("new-password","Q4")"जॉन

इसका मतलब है कि कई समान पासवर्ड सभी काम करेंगे। उदाहरण के लिए, ओरेकल लिनक्स 7.4 सर्वर और उबंटू 17.10 डेस्कटॉप पर विचार करें:

सूद usermod -p perl -e "print crypt("borkling","Q4")"orabuntu

अब अगर कोई करता है:

सु - ओराबंटू

आप पाएंगे कि कोई भी पासवर्ड जो "borkling" से शुरू होता है, जैसे काम करेगा

borkling88 borklingjars

यद्यपि "बोर्कलाइन" काम नहीं करेगा, क्योंकि जैसा कि पहले कहा गया है कि किसी भी पासवर्ड में "बोरिंग" है क्योंकि यह उपसर्ग तब भी काम करेगा जब पासवर्ड इस तरह से सेट हो।

इसका एक तरीका यह है कि afaik में यह अवांछित दुष्प्रभाव नहीं है, निम्नलिखित है:

(इनका श्रेय यहाँ "संदीप" को जाता है:
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )

RedHaty Linuxes पर: ("-G व्हील को छोड़ें" यदि आप sudo Privates नहीं चाहते हैं)

sudo useradd -m $ -p $ (Opensl passwd -1 $ {PASSWORD}) -s / bin / bash -G पहिया $ {USERNAME}

डेबियन लिनक्स पर (अगर आप sudo प्राइवेट नहीं चाहते हैं तो -G sudo को छोड़ दें):

sudo useradd -m $ -p $ (opensl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}


1

बस टाइप करो

passwd

इस तरह सामान्य उपयोगकर्ता बिना रूट विशेषाधिकार के अपना पासवर्ड बदल सकता है यदि आपके पास नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.