यह आदेश क्या करता है: सुडो डीएससीएल। पासवार्ड / उपयोगकर्ता / प्रशासक


12

मैं मैक मिनिस के एक समूह को सर्वर के रूप में उपयोग करने का प्रयास कर रहा हूं। मुझे हाल ही में उनके सभी पासवर्ड बदलने की आवश्यकता थी, इसलिए मैंने SSHed किया और इस कमांड को चलाया, जो कि मैंने उन मशीनों पर नए उपयोगकर्ता खाते बनाते समय उपयोग किया था:

sudo dscl . passwd /Users/administrator thePassword

दुर्भाग्य से, यह तब नहीं हुआ था जब मैंने सोचा था कि मौजूदा उपयोगकर्ता पर उपयोग किया जाता है - नया पासवर्ड नहीं है thePasswordऔर इसलिए मैंने इसका उपयोग खो दिया है sudoman dsclयह कहना है:

पासवर्ड

 Usage: passwd user_path [new_pasword | old_password new_pasword]

 Changes a password for a user. The user must be specified by full path,
 not just a username.  If you are authenticated to the node (either by
 specifying the -u and -P flags or by using the auth command when in
 interactive node) then you can simply specify a new password.  If you are
 not authenticated then the user's old password must be specified.  If
 passwords are not specified while in interactive mode, you will be
 prompted for them.  Passing these passwords on the command line is inher-
 ently insecure and can cause password exposure.  For better security do
 not provide the password as part of the command and you will be securely
 prompted.

तो ऐसा लगता है कि मुझे उस पिछले कमांड को चलाते समय उपयोगकर्ता का पुराना पासवर्ड प्रदान करना चाहिए था, लेकिन मैंने ऐसा नहीं किया। मुझे पता है कि मैंने क्या पासवर्ड दर्ज किया है और मेरे पास अभी भी मशीनों तक एसएसएच पहुंच है। यदि मैं यह पता लगा सकता हूं कि कमांड ने क्या किया है, तो मैं यह बता पाऊंगा कि मैंने खातों पर क्या पासवर्ड सेट किया है।

जवाबों:


9

आह, यह पता चला है कि कि है जब का उपयोग कर एक उपयोगकर्ता का पासवर्ड बदलने का सही तरीका sudo। यदि आप sudo का उपयोग नहीं करते हैं, तो केवल आपको उपयोगकर्ता का पुराना पासवर्ड प्रदान करने की आवश्यकता है।

मेरी समस्या यह थी कि पासवर्ड में एक '$' वर्ण था, जिससे मैं बच नहीं पाया। नतीजतन, पासवर्ड $ चरित्र से पहले काट दिया गया था।


इसका अर्थ है एक उचित आदेश को बदलने के लिए thePassword toPa $$ शब्द जैसा दिखता है: sudo dscl। पासवार्ड / उपयोगकर्ता / प्रशासक thePa \ $ \ $ शब्द सही?
मार्क

1
मैं सिर्फ तर्क ( sudo dscl . passwd /Users/administrator "thePa$$word")
MaxGabriel

2
यदि आप कंसोल से ऐसा कर रहे हैं, तो पासवर्ड की आपूर्ति न करें। dsclइसके लिए संकेत देगा, और इस प्रकार आप अपने कमांड इतिहास में संवेदनशील जानकारी छोड़ने का जोखिम नहीं उठाएँगे।
मार्सेलो कैंटोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.