Adduser और useradd में क्या अंतर है?


440

आज्ञाओं पर adduserऔर useraddउबंटू में क्या अंतर है ?




और यह एक अच्छा, वैध प्रश्न है। मुद्दा यह नहीं है कि लोग इसे संबंधित संदर्भों में पूछ रहे हैं, यह है कि इस सवाल को बिल्कुल पूछा जाना चाहिए।
फू

जवाबों:


386

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

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

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


59
Add useradd कमांड न बनाएँ '/ home / यूज़रनेम' डायरेक्टरी लेकिन adduser कमांड करेगा
Deepen

65
-mविकल्प के साथ useradd होम डायरेक्टरी बनाएगा।
रिच्सिन

10
निहितार्थ यह दिलचस्प नहीं है, शब्दार्थ हैं। जैसे adduser(8)अधिक उपयोगकर्ता मित्रता है और आप जिस तरह से अपेक्षा करते हैं, डिफ़ॉल्ट रूप से एक उपयोगकर्ता बनाता है और सेट करता है। और useradd(8)केवल वही करें जो आप पूछते हैं, इसलिए क्या आप चाहते हैं कि एक होम डायरेक्टरी बनाई जाए, आपको इसे अपने लिए बनाना होगा।
एंडर्स

23
मुझे हर बार यह देखना होगा ... मैं खुद को यह याद रखने में कैसे मदद कर सकता हूं कि कौन सा है?
क्वेंटिन स्कूसन

11
@kkhugs to me "adduser" सबसे अधिक सहज महसूस करता है क्योंकि यह एक कमांड है जो अंग्रेजी की तरह लगता है, जबकि दूसरा शब्द नहीं है। यदि आप इसे दो के "सबसे सहज" के रूप में याद करते हैं, तो आप इसे पसंदीदा / आसान के रूप में याद करने का भी प्रयास कर सकते हैं।
pzkpfw

146

adduserdeluserकमांड लाइन से नए उपयोगकर्ता बनाते समय हमेशा (और उपयोगकर्ताओं को हटाते समय) का उपयोग करें । (यदि आप एक स्क्रिप्ट लिख रहे हैं, खासकर यदि आप पोर्टेबिलिटी के लिए लक्ष्य रखते हैं, तो आप इसके बजाय लोवेल यूटिलिटीज का उपयोग करना चाह सकते हैं - और adduser/ deluserया सभी डिस्ट्रो पर उपलब्ध नहीं हो सकता है, जैसे कि SuSE पर।)

useradd, userdelऔर usermodआदेशों lowlevel उपयोगिताओं जो ऐतिहासिक कारणों के लिए देखते हैं, जबकि हैं adduser/deluserDo The सही काम ™। (मुझे याद है कि वर्णमाला के user*बाद आने वाली सोच से उपयोग adduser/deluserकरना है, और इसलिए "बदतर" है।

संबंधित मैनपीज के अनुसार (उबंटू 12.04 सटीक पैंगोलिन पर, यानी एक डेबियन व्युत्पन्न प्रणाली)।

के लिए Manpage adduserकहते हैं:

(महत्व दिया।)

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

के लिए Manpage useraddकहते हैं:

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

यह भी देखें: "एड्यूसर" और "यूजरड" के बीच क्या अंतर है? (सुपरयूजर पर)


6
मैं कभी याद नहीं कर सकता कि कौन सा है, इसलिए यह मेरी बेवकूफी है, अगर यह किसी को भी मदद करता है :) "उपयोगकर्ता" "हारे हुए" के साथ गाया जाता है, और "हारे हुए" अंतिम आता है। इस प्रकार: योजक, मायावी।
मैड्स स्केजर्न

26
मैं वास्तव में " हमेशा उपयोगकर्ता " पर असहमत हूं : स्वचालित स्क्रिप्ट के लिए मैं पसंद करूंगा क्योंकि यह हमेशा वहां है, गैर-इंटरैक्टिव, और डिस्ट्रो-विशिष्ट नहींadduseruseradd
वर्नट

2
मैंने adduser
खुले तौर

1
@ cst1992 आप सही हैं, मैंने इसे प्रतिबिंबित करने के लिए उत्तर संपादित किया है। उत्सुकता से पर्याप्त है, जब मैंने locate adduserकाम पर एक SuSE 11 प्रणाली पर कोशिश की, तो मैंने पाया कि एक adduserमैनपेज था , लेकिन कोई बाइनरी (और न deluserही एक मैनपेज और न ही कमांड)।
zrajm

2
Red Hat पर/usr/sbin/adduser -> useradd
लेवॉन

17

adduser: पूर्ण प्रोफ़ाइल और जानकारी के साथ उपयोगकर्ता जोड़ें (पास, कोटा, अनुमति, आदि)

useradd: केवल अपने नाम के साथ उपयोगकर्ता जोड़ें (यदि आप केवल एक नाम के साथ एक अस्थायी उपयोगकर्ता जोड़ना चाहते हैं, तो अन्य जानकारी की आवश्यकता नहीं है)


1
+1 और स्वागत है! मैंने उस व्यक्ति को वोट दिया जो अपने पिछले डाउन वोट को समझाने में असमर्थ था। कीप आईटी उप! अच्छे प्रोग्रामर हमेशा ऊपर की ओर उठते हैं - और बिना स्पष्टीकरण दिए वोट को नीचे नहीं गिराते हैं। :)
Ricalsin

11

अंतर के एक और जोड़े, जो विशिष्ट परिदृश्यों की ओर ले जाते हैं जहां उपयोगकर्ताड बेहतर हो सकता है।

  1. Ubuntu 14.4 सहित कुछ नए डिस्ट्रोस में, एड्यूसर पासवर्ड और "जीकोस" (फिंगर कमांड के लिए डेटा) जैसी जानकारी के लिए संकेत देगा। इसका मतलब है कि यह एक स्क्रिप्ट से कॉल करने के लिए कम उपयुक्त हो सकता है (क्रेडिट: पहले से ही वर्नट द्वारा एक टिप्पणी में उल्लेख किया गया है)।

    अशक्त तर्क पारित करके संकेतों को दबाया जा सकता है:

    adduser --disabled-password --gecos "" USER
    
  2. useraddआपको -Gविकल्प के माध्यम से उपयोगकर्ता को जोड़ने के लिए कई अतिरिक्त समूह पास करने की अनुमति देता है । adduserआवश्यकता है कि आप प्रत्येक समूह को जोड़ने के लिए एक बार कमांड को कॉल करें।


Ubuntu 16.04 पर काम नहीं करता है।
उत्तरशिक्षक

8

adduserइसमें मित्रता यह है कि यह खाते के होम फ़ोल्डर्स और अन्य सेटिंग्स (उदाहरण के लिए स्वचालित रूप से सिस्टम आँकड़े और लॉगिन पर सूचनाएं लोड करना) सेट करता है, जबकि useraddबस उपयोगकर्ता बनाता है।


2
गलत। useradd -m के साथ होम डायरेक्टरी बना सकते हैं, -p के साथ पासवर्ड सेट कर सकते हैं, -k के साथ कंकाल फाइलें बना सकते हैं, और -G के साथ ग्रुप (ओं) में यूजर को जोड़ सकते हैं।
ychaouche

5

मूल अंतर यह है कि "एड्यूसर" होम डायरेक्टरी बनाएगा और उस डायरेक्टरी में कंकाल की फाइल्स जोड़ेगा, जहां "यूजरड" न कोई होम डायरेक्टरी और कंकाल फाइल्स बनाएगा!

योजक प्रयास:

Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

useradd try1:

# ll /home/
total 20
drwxr-xr-x  5 root    root    4096 Oct 26 15:52 ./
drwxr-xr-x 22 root    root    4096 Oct 26 15:47 ../
drwx------  8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x  3 root    root    4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x  2 try     try     4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#


0

मैं यह भी adduserबताता हूं कि हमेशा -Mविकल्प नहीं होता है और विशेष रूप से कहे गए --systemझंडे का भी सम्मान नहीं करता है :

ध्यान दें कि useradd /etc/login.defs (CREATE_HOME) में डिफ़ॉल्ट सेटिंग की परवाह किए बिना, ऐसे उपयोगकर्ता के लिए होम डायरेक्टरी नहीं बनाएगा। यदि आप चाहते हैं कि यदि आप एक सिस्टम खाता बनाने के लिए होम निर्देशिका चाहते हैं, तो -m विकल्प निर्दिष्ट करें।

यदि आप होम निर्देशिका के बिना एक सिस्टम उपयोगकर्ता बनाने की कोशिश कर रहे हैं तो उपयोग करें useradd --system -M

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