गैर-अंतःक्रियात्मक रूप से योजक चलाएँ


198

मैं adduserएक शेल स्क्रिप्ट के माध्यम से एक उपयोगकर्ता (विकलांग पासवर्ड के साथ) जोड़ने के लिए कमांड का उपयोग करना चाहूंगा ।

डिफ़ॉल्ट रूप से, adduserआपको विभिन्न मूल्यों (जैसे, पूर्ण नाम) के लिए संकेत देता है। क्या कमांड लाइन के माध्यम से इन मूल्यों को जमा करने का कोई तरीका है? या मुझे useraddइसके बजाय की आवश्यकता होगी ?

जवाबों:


262

इंटरेक्टिव भाग --gecosको छोड़ने के लिए विकल्प का उपयोग करें chfn

adduser --disabled-password --gecos "" username

यह सब मैन पेज में है। सबसे स्पष्ट सूत्रीकरण नहीं।

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

GECOS फ़ील्ड एक अल्पविराम से अलग की गई सूची है जैसे: Full name,Room number,Work phone,Home phoneइसके बावजूद कि मैन पेज में विवरण - विकिपीडिया का उल्लेख हैfinger information

आशा है कि यह आपकी मदद करता है।


41

useradd उपयोगकर्ताओं को भी जोड़ सकते हैं और किसी भी प्रकार के संकेत के निर्माण में प्रकट नहीं होते हैं।

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: उपयोगकर्ता होम निर्देशिका बनाएं
  • -p, --password: उपयोगकर्ता पासवर्ड निर्दिष्ट करें; इसे अक्षम करने के लिए छोड़ें
  • -s, --shell: उपयोगकर्ता लॉगऑन के लिए डिफ़ॉल्ट खोल

    रिक्त SHELLचर द्वारा निर्दिष्ट डिफ़ॉल्ट लॉगिन शेल का उपयोग करेगा/etc/default/useradd

  • <user>लॉगिन नाम के साथ प्रतिस्थापित करें
  • एन्क्रिप्टेड पासवर्ड के <encryptedPassword>साथ स्थानापन्न

हैशेड पासवर्ड बनाना:

कर रहे हैं एक बहुत crypt3 कार्यान्वयन कि एक टुकड़े किए गए पासवर्ड जेनरेट कर सकते की। पूरी बात आपके हैशेड पासवर्ड की है।

शा- 512 आधारित

परिणामी आउटपुट स्वरूप: हैश तंत्र ( $6sha-512 के लिए), यादृच्छिक नमक (दूसरे डॉलर के संकेत के बाद आठ बाइट्स $ASDF1234), शेष पेलोड है।

  • mkpasswd mkpasswd -m sha-512

    ( पैकेज mkpasswdद्वारा प्रदान किया गया whoisहै)

डेस आधारित:

परिणामी आउटपुट स्वरूप: पहले 2 बाइट्स आपका नमक है, शेष पेलोड है। पूरी बात आपके हैशेड पासवर्ड की है।

  • mkpasswd: mkpasswd( whoisपैकेज द्वारा प्रदान किया गया )
  • openssl: openssl passwd -crypt
  • पर्ल: perl -e "print crypt('password');"
  • अजगर: python3 -c 'import crypt; print(crypt.crypt("password"))'

1
आपके द्वारा उल्लिखित विकल्प adduserउबंटू के मेरे (हाल के) संस्करण के लिए मौजूद नहीं हैं ।
ᴠɪɴᴄᴇɴᴛ

1
@ @ adduserसे अलग है useradd, भ्रामक मुझे पता है।
थोरसुमोनर

1
उफ़, वास्तव में याद आया कि आप इसके लगभग नाम का उपयोग करते हैं ... क्या कमांड लाइन नाम स्थान की रक्षा करने वाला BDFL नहीं है? , पी
ᴠɪɴᴄᴇɴᴛ

1
@ mum007 यह केवल सामान्य सलाह है, जोड़ने का प्रयास करें -vया -vvया -vvvअपने ssh क्या गलत दिखाई और अपने त्रुटि संदेश अतः या गूगल पर खोज करने के लिए यहाँ आदेश करने के लिए।
थोरसुमोनर 17

1
@KovacsAkos यह कोशिश करें: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_configऔरsudo service ssh restart
JSBach
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.