"Adduser" और "useradd" के बीच क्या अंतर है?


58

मुझे आश्चर्य है: डेबियन लिनक्स पर ये दोनों कमांड बहुत समान नामों और कार्यक्षमता के साथ क्यों हैं? यह हमेशा मेरे लिए उलझन भरा रहा है।

  • क्या उनमें से कोई भी दूसरे से श्रेष्ठ है?
  • वे एक में विलीन क्यों नहीं होते?
  • क्या उनके बीच कोई महत्वपूर्ण अंतर है?
  • मुझे किसका उपयोग करना चाहिए? या यह एक उपयोग के मामले पर निर्भर करता है?

ध्यान दें कि useraddसभी यूनिक्स जैसे प्लेटफॉर्म पर उपलब्ध है; adduserकेवल डेबियन और उसके डेरिवेटिव के लिए है।
फ्रैंकलिन यू

जवाबों:


67

useraddसिस्टम के साथ संकलित देशी बाइनरी है। लेकिन, adduserएक पर्ल स्क्रिप्ट है जो useraddबैक-एंड में बाइनरी का उपयोग करती है ।

adduserइसके बैक-एंड की तुलना में अधिक उपयोगकर्ता के अनुकूल और इंटरैक्टिव है useradd। प्रदान की गई सुविधाओं में कोई अंतर नहीं है।


एड्यूसर सभी डिस्ट्रोस (जैसे। स्यूस-बेस्ड) पर उपलब्ध नहीं है, और कुछ अन्य पर यह सिर्फ यूजरड (रेडहैट-आधारित) के लिए एक सिमलिंक है।
12

10

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


1
adduser में एक -no-create-home विकल्प है।
दोपहर

1

Redhat उदाहरणों के एक जोड़े में मैंने जाँच की (2011 से 4.9 और 2017 से 6.9), एड्यूसर केवल यूजरड के लिए एक उपनाम है, न कि पर्ल स्क्रिप्ट। यहाँ यह Redhat 6.9 में है:

$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root      7 Nov  2  2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb  9  2016 /usr/sbin/useradd

जिस तरह से मुझे याद है कि useradd 'सही' प्रोग्राम है यह है: एक उपयोगकर्ता को जोड़ना CRUD स्पेक्ट्रम में सिर्फ एक ऑपरेशन है। आपको (संशोधित ’और operations डिलीट’ ऑपरेशंस की भी आवश्यकता है (etc पढ़ा ’संभवतः देखने / आदि / पासवार्ड द्वारा कवर किया गया है)। और इसलिए, प्रोग्रामों को उपयोगकर्ता का नाम दिया गया है (क्रमशः उपयोगकर्ता , उपयोगकर्ता , उपयोगकर्ता और उपयोगकर्ता नाम )। मुझे लगता है कि वैकल्पिक * उपयोगकर्ता नामकरण कन्वेंशन (एड्यूसर, मोड्यूसर और डेलूसर - ये मौजूद नहीं हैं) भी काम कर सकते हैं। लेकिन यह थोड़ा और अजीब होगा (एक कारण के लिए मैं इस समय स्पष्ट रूप से व्यक्त नहीं कर सकता :)


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