जब मैं एक नया उपयोगकर्ता बनाता हूं तो होम निर्देशिका क्यों नहीं बनाई जाती है?


15

मैंने useraddउबंटू सर्वर वर्चुअल मशीन पर कमांड का उपयोग करके एक नया उपयोगकर्ता (टेस्टर) बनाया । मैं उपयोगकर्ता के लिए एक होम डायरेक्टरी बनाना चाहूंगा और उन्हें रूट प्रोविलेज भी दूंगा।

हालाँकि, जब मैं नए उपयोगकर्ता के रूप में लॉगिन करता हूं, तो यह शिकायत करता है कि कोई घर निर्देशिका नहीं है। मैं क्या गलत कर रहा हूं?


मैंने होम डायर बनाने के बारे में मुख्य प्रश्न का उत्तर दिया। एक नया उपयोगकर्ता रूट एक्सेस देना एक असंबंधित मुद्दा है और इसे अलग से पूछा जाना चाहिए। मूल रूप से, आपको उपयोगकर्ता को sudoसमूह में जोड़ना होगा ।
टेराडो ter

जवाबों:


22

अंत में मैंने खुद को खत्म कर लिया

यह उत्तर है

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

1
-d झंडा क्या कर रहा है, या -G झंडा कर रहा है
अलेक्जेंडर मिल्स

आप आदमी आदेश का उपयोग कर की जाँच करें। बस "आदमी useradd" निष्पादित करें।
शुरुआत करने वाला

1
-mअगर यह मौजूद नहीं है तो होम डाइरेक्टरी बनाता है। -dडिफ़ॉल्ट होम निर्देशिका स्थान को ओवरराइड करता है। -sउपयोगकर्ता के लिए लॉगिन शेल सेट करता है। -Gउपयोगकर्ता से संबंधित समूहों की अल्पविराम से अलग सूची की अपेक्षा करता है।
एलिस्टेयर हैरिसन

@Beginner you check using man command.यह एक शून्य सहायक उत्तर है, आप बस के बारे में समझाया हो सकता है कि आप लोगों को manफ़ंक्शन के बारे में याद रखें ।
बजे एम एस बेरेन्स

@AlastairHarrison आपकी प्रशंसा करते हैं।
बजे एम एस बेरेन्स

21

useraddकार्यक्रम के पक्ष में पदावनत किया गया है adduser। से man useradd:

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

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

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
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] 

सामान्य तौर पर, आपको हमेशा adduserइसके बजाय उपयोग करना चाहिए useraddक्योंकि यह आवश्यक समूहों को स्वचालित रूप से सेट करेगा। जैसा कि समझाया गया है man adduser:

   adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures. 

1
मैं adduser कमांड का उपयोग नहीं करना चाहता।
शुरुआत

4
@rajcoumar उम, क्यों? यह काम के लिए सही उपकरण है। यदि आप गलत टूल का उपयोग करने पर जोर देते हैं, तो आपको मैन्युअल रूप से होम डायरेक्टरी और उपयोगकर्ता समूह बनाने होंगे और /etc/skelआदि से डिफ़ॉल्ट फाइलों को कॉपी करना होगा , यही कारण है कि आधिकारिक डेबियन वे® का उपयोग करना है adduser
टेराडो ter

1
#terdon ya correct .. लेकिन मैं केवल useradd कमांड का उपयोग करके एक शेल स्क्रिप्ट लिख रहा हूं
शुरुआत का

@rajcoumar ठीक है, फिर आपको या तो सब कुछ मैन्युअल रूप से बनाना होगा, या इसके बजाय एडजस्टमेंट का उपयोग करने के लिए स्क्रिप्ट को बदलना होगा। बस एक /etc/adduser.conf फ़ाइल बनाएँ।
terdon

1
बस मेरे उत्तर को देखो, मुझे इसका सही पता नहीं है, लेकिन यह मेरे लिए काम करता है
शुरुआती

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