Adduser क्या करता है कि useradd नहीं करता है?


71

अधिक व्यापक के अलावा useradd, डेबियन आधारित सिस्टम में एक अतिरिक्त adduserकमांड भी शामिल है जो उपयोगकर्ताओं और कुछ संबंधित कार्यों को जोड़ने के लिए एक उच्च स्तरीय इंटरफ़ेस प्रदान करता है। अन्य एसई साइटों पर विभिन्न प्रश्न / उत्तर दिए गए हैं, जो इन आदेशों के बीच बुनियादी अंतर को विस्तृत करते हैं, उदाहरण के लिए:

अधिकतर उत्तर अनिवार्य रूप से कहते हैं कि adduserउपयोगकर्ताओं को अंतःक्रियात्मक रूप से जोड़ने के लिए अच्छे इंटरफ़ेस प्रदान करता है, लेकिन जब adduserइसकी तुलना नहीं की जाती है, तो जो होता है उस पर अधिक विवरण नहीं देते हैं useradd। इसलिए:

  1. क्या करता adduserहै कि ऐसा useraddनहीं करता है?
  2. समान परिणाम उत्पन्न करने के लिए मुझे किन आदेशों का उपयोग करने की आवश्यकता है?

जवाबों:


79

सबसे पहले, संबंधित मैन पेज स्निपेट दो आदेशों के बीच के अंतर को उजागर करता है और कुछ संकेत देता है कि क्या चल रहा है। के लिए adduser:

adduser और addgroup कमांड लाइन विकल्पों और /etc/adduser.conf में कॉन्फ़िगरेशन जानकारी के अनुसार सिस्टम में उपयोगकर्ताओं और समूहों को जोड़ते हैं। वे डिफ़ॉल्ट रूप से निम्न स्तर के टूल जैसे कि यूजरड, ग्रुपडैड और वर्मोड प्रोग्राम्स के लिए अंत में हैं, डिफ़ॉल्ट रूप से डेबियन पॉलिसी कंफर्मेंट यूआईडी और जीआईडी ​​वैल्यू को चुनकर, कंकाल कॉन्फ़िगरेशन के साथ एक होम डायरेक्टरी बनाने, एक कस्टम स्क्रिप्ट चलाने और अन्य विशेषताएं।

फिर इसके लिए useradd:

useradd उपयोगकर्ताओं को जोड़ने के लिए एक निम्न स्तर की उपयोगिता है। डेबियन पर, प्रशासकों को आमतौर पर इसके बजाय एड्यूसर (8) का उपयोग करना चाहिए।

आगे की जांच से adduserपता चलता है कि यह एक पर्ल स्क्रिप्ट है जो उच्च स्तरीय इंटरफ़ेस प्रदान करता है, और इस प्रकार, निम्नलिखित कार्यों की कार्यक्षमता प्रदान करता है:

  • useradd
  • groupadd
  • passwd - उपयोगकर्ता पासवर्ड जोड़ने / बदलने के लिए उपयोग किया जाता है।
  • gpasswd - समूह पासवर्ड जोड़ने / बदलने के लिए उपयोग किया जाता है।
  • usermod - उपयोगकर्ता से जुड़े विभिन्न मापदंडों को बदलने के लिए उपयोग किया जाता है।
  • chfn - एक उपयोगकर्ता पर आयोजित अतिरिक्त जानकारी को जोड़ने / बदलने के लिए उपयोग किया जाता है।
  • chage - पासवर्ड एक्सपायरी जानकारी बदलने के लिए इस्तेमाल किया जाता है।
  • edquota - डिस्क उपयोग कोटा बदलने के लिए उपयोग किया जाता है।

adduserकमांड का एक मूल रन इस प्रकार है:

adduser username

यह सरल आदेश कई काम करेगा:

  1. नामित उपयोगकर्ता बनाएँ username
  2. उपयोगकर्ता की होम निर्देशिका बनाएं (डिफ़ॉल्ट है /home/usernameऔर /etc/skelउसमें से फ़ाइलों को कॉपी करें ।
  3. उपयोगकर्ता के समान नाम वाला एक समूह बनाएं और उसमें उपयोगकर्ता को रखें।
  4. उपयोगकर्ता के लिए एक पासवर्ड के लिए संकेत दें।
  5. उपयोगकर्ता पर अतिरिक्त जानकारी के लिए संकेत दें।

useraddकार्यक्रम सबसे की इस का सबसे पूरा कर सकते हैं, लेकिन यह डिफ़ॉल्ट रूप से ऐसा करने की जरूरत है और अतिरिक्त विकल्पों नहीं है। कुछ जानकारी के लिए अधिक आदेशों की आवश्यकता होती है:

useradd -m -U username
passwd username
chfn username

ध्यान दें कि adduserयह सुनिश्चित करता है कि बनाए गए यूआईडी और जीआईडी ​​देवियन नीति के अनुरूप हैं । साथ सामान्य उपयोगकर्ताओं बनाना useraddप्रदान की है, ठीक हो रहा है UID_MIN/ UID_MAXमें /etc/login.defsडेबियन नीति से मेल खाता है। हालांकि एक समस्या यह है कि डेबियन /etc/adduser.confसिस्टम उपयोगकर्ता useraddयूआईडी के लिए एक विशेष सीमा निर्दिष्ट करता है जो केवल में समर्थित होने के लिए लगता है , इसलिए सही तरीके से एक यूआईडी / जीयूआईडी को निर्दिष्ट नहीं करने के साथ एक सिस्टम उपयोगकर्ता को जोड़ना गंभीर समस्याओं के लिए संभावित छोड़ देता है।

इसके लिए एक और आम उपयोग adduserउपयोगकर्ता को एक समूह में जोड़ने की प्रक्रिया को सरल बनाना है। यहाँ, निम्नलिखित कमांड:

adduser username newgroup

एक अधिक जटिल usermodकमांड को बदलता है जिसके लिए उन समूहों की आवश्यकता होती है जो उपयोगकर्ता पहले से ही सदस्य हैं (और आप चाहेंगे कि उपयोगकर्ता सदस्य बने रहें) निर्दिष्ट किया जाए:

usermod -G all,other,groups,user,is,in,newgroup

adduserयहाँ उपयोग करने के लिए एक नकारात्मक पक्ष यह है कि आप एक समय में केवल एक समूह निर्दिष्ट कर सकते हैं।


यह अच्छा है! मैं यह भी एक सवाल था पता नहीं था। क्या उपयोगकर्ता पासवर्ड के रूप में हैशेड पासवर्ड लेता है? यह बहुत अच्छा काम है, वैसे।
मिकसेर्व

मुझे नहीं पता कि मैं पूरी तरह से "प्रशासकों के साथ सहमत होना चाहिए ..." कथन हालांकि ... व्यक्तिगत रूप से, मेरा मानना ​​है कि प्रशासक को शायद adduserएक सिस्टम-वाइड नीति के अनुसार अपना / अपना एक साथ रखना चाहिए , लेकिन यह सिर्फ आर्मचेयर है क्वार्टरबैकिंग बेस्ट।
mikeserv

@mikeserv, नहीं, कोई हैशेड पासवर्ड नहीं हैं। एक और कार्यक्रम है जिसके बारे में आपको जानना चाहिए - chpasswd- यह हैशेड पासवर्ड को स्वीकार कर सकता है stdin। मुझे लगता है कि अन्य उत्तर को अपडेट करने से पहले मैं कल इंतजार करूंगा।
ग्रीम

अच्छा लेख। मेरे लिए थोड़ा बहुत विवरण। मुझे जो सबसे ज्यादा याद आता है, वह adduserमूल रूप से सर्वर व्यवस्थापक के लिए बनाया गया था , जिन्हें विश्वविद्यालय में ईमेल सर्वर पर वास्तविक उपयोगकर्ताओं को बनाने / संशोधित / सीमित करने की अक्सर आवश्यकता होती है। साथ adduserआप प्रक्रिया को स्वचालित कर सकते हैं। यह वर्षों के दौरान थोड़ा बदल गया है इसलिए आजकल useraddबहुत सारे प्रवेश के लिए मुश्किल हो सकता है और उनके लिए adduserपसंद का उपकरण बन गया है।

मेरे Ubuntu 16.04 पर, -U/ --user-groupडिफ़ॉल्ट रूप से प्रतीत होता है।
फ्रैंकलिन यू

2

Adduser डिफ़ॉल्ट रूप से आदेश भी प्रणाली उपयोगकर्ताओं, जो आप के साथ ऐसा नहीं कर सकते के लिए एक / घर / उपयोगकर्ता निर्देशिका बनाता है useradd कमांड। useradd सामान्य उपयोगकर्ताओं के लिए केवल होम निर्देशिकाओं को जोड़ता है सिस्टम उपयोगकर्ताओं को नहीं।


1

सिस्टम प्रशासक useradd के साथ कुछ भी कर सकता है जो कि एड्यूसर के साथ किया जा सकता है। यहां यह कहा गया था कि आप / उपयोगकर्ता / सिस्टम निर्देशिका के लिए useradd के साथ घर / उपयोगकर्ता निर्देशिका नहीं बना सकते हैं, और आप / etc / skel में निहित फ़ाइलों को संशोधित करके पूरी तरह से कर सकते हैं। / etc / skel में नई उपयोगकर्ता के होम डायरेक्टरी को पॉप्युलेट करने के लिए शुरू में उपयोग की गई फ़ाइलों का समूह शामिल है।

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