लिनक्स useradd और कमांडलाइन से पासवर्ड?


1

यहाँ प्रलेखन के आधार पर:

https://linux.die.net/man/8/adduser

मैं Ubuntu 17.10 में एक डिफ़ॉल्ट होम डिर के साथ एक नया उपयोगकर्ता बनाने की कोशिश कर रहा हूं और पासवर्ड निर्दिष्ट कर रहा हूं:

useradd john -m -p mypassword

उपयोगकर्ता ठीक बनाया गया है, लेकिन यदि मैं SSH के बगल में मशीन के लिए नए उपयोगकर्ता का उपयोग करके निर्दिष्ट पासवर्ड (mypassword) के साथ कोशिश करता हूं जो मुझे मिलता है:

$ ssh john@my-host
john@my-host's password: 
Permission denied, please try again.
john@my-host's password: 

तो उपयोगकर्ता बनाते समय मैंने उस पासवर्ड के साथ काम क्यों नहीं किया जिसका मैंने उपयोग किया था?

नीचे उत्तर के आधार पर useradd एक एन्क्रिप्टेड पासवर्ड की आवश्यकता है। कमांड लाइन से मैं यह कर सकता हूं:

$ echo -n testpass | makepasswd --crypt-md5 --clearfrom -
testpass   $1$eaXbTWAK$8flrqGzhmtWPjzRcrxWBf/

लेकिन मैं इसे कैसे पास करूं useradd, एक लाइन पर पूरी बात करना संभव बनाने के लिए?

जवाबों:


3

वहाँ से adduser(8) आदमी पृष्ठ:

-p, --पासवर्ड पासवर्ड

एन्क्रिप्टेड पासवर्ड, जैसा कि क्रिप्ट (3) द्वारा लौटाया गया है।

पासवर्ड को स्पष्ट करने के रूप में सादा काम नहीं करेगा।


0

आप $ (कुछ-सेमी) निर्माण का उपयोग करके कई कमांड जोड़ सकते हैं। इससे पहले कोष्ठक का मूल्यांकन करने और उसके स्थान पर रिटर्न मान का उपयोग करने के लिए बैश होगा:

echo foo $(echo bar)

पहले दूसरी कमांड का मूल्यांकन करेगा और फिर पहले कमांड का मूल्यांकन करेगा। आप हमें पहले अपना पासवर्ड जनरेट करने और फिर इसे एडुसर कमांड में डाल सकते हैं।

या आप कमांड चेनिंग का उपयोग करते हैं: user=john; useradd -m $user && passwd $user। यह अभी भी आपको पासवर्ड के लिए संकेत देगा।

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