किस बिंदु पर ~ / .bashrc फ़ाइल बनाई गई है?


21

उदाहरण के लिए, अगर मैं कमांड चलाता था adduser test, तो .bashrc उपयोगकर्ता के लिए होम डायरेक्टरी के निर्माण पर स्वचालित रूप से बनाया गया है test? यदि यह उपयोगकर्ता निर्माण पर नहीं बनाया गया है, तो यह किन परिस्थितियों में बनाया गया है?

इसके अलावा, अगर मैं एक .bashrc फ़ाइल को किसी उपयोगकर्ता की होम निर्देशिका में जोड़ता हूं, तो क्या यह ओएस द्वारा ओवरराइट किया जाएगा?

अग्रिम में धन्यवाद।


2
यदि आप इसे आज़माते हैं, तो आप यहाँ पूछकर बहुत तेजी से पता लगा सकते हैं।
स्टिग हेमर

जवाबों:


30

ज्यादातर मामलों में, उपयोगकर्ता .bashrcद्वारा बनाए जाने पर प्रारंभिक उपयोगकर्ता फाइलें (सहित ) बनाई जाती हैं। वे 'कंकाल' निर्देशिका में संग्रहीत फ़ाइलों की प्रतियां हैं, नाम /etc/skel। दो मुख्य आदेश हैं:

  • useradd बैक-एंड कमांड है, अगर आप इसे सीधे (बिना किसी विकल्प के) उपयोग कर रहे हैं तो बस एक सिस्टम उपयोगकर्ता (और उसका समूह) बनाया जाएगा:

    $ sudo useradd new-user
    $ ls -la /home/new-user/
    ls: cannot access '/home/new-user/': No such file or directory
    • useraddएक होम डाइरेक्टरी बनाएंगे और /etc/skelयदि -m --create-homeविकल्प की आपूर्ति होती है तो उसकी एक प्रति के साथ उसे पॉप्युलेट करेंगे । के लिए धन्यवाद इस टिप्पणी @jwodder करने के लिए।

    • विकल्प -s --shellनए उपयोगकर्ता के लॉगिन शेल का नाम बदल देगा। कोई फर्क नहीं पड़ता कि नया उपयोगकर्ता का लॉगिन शेल क्या है, 'कंकाल' निर्देशिका की संपूर्ण सामग्री /etc/skelनए उपयोगकर्ता के घर निर्देशिका में पॉपुलेट की जाएगी।

    • एक अलग 'कंकाल' निर्देशिका ठंड को -k --create-homeविकल्प के साथ परिभाषित किया गया है।

    • इस कमांड की कॉन्फ़िगरेशन फ़ाइल है /etc/default/useradd

  • adduserउपयोगकर्ता के अनुकूल और इंटरैक्टिव सामने के अंत है useradd। यह कमांड डिफ़ॉल्ट रूप /etc/skelसे उपयोगकर्ता की $HOMEनिर्देशिका से फाइल कॉपी करेगा :

    $ sudo adduser new-user
    Adding user `new-user' ...
    Adding new group `new-user' (1002) ...
    Adding new user `new-user' (1002) with group `new-user' ...
    Creating home directory `/home/new-user' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for new-user
    Enter the new value, or press ENTER for the default
            Full Name []: New User
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
    Is the information correct? [Y/n]
    
    $ ls -a /home/new-user/
    .   ..   .bash_logout   .bashrc   .config   examples.desktop   .profile   .Xdefaults
    • इस कमांड की कॉन्फ़िगरेशन फ़ाइल है /etc/adduser.conf

    • नए उपयोगकर्ता के लॉगिन शेल के लिए डिफ़ॉल्ट मान वैरिएबल द्वारा बंद कर दिया गया है DSHELL=। यह विकल्प के माध्यम से भी निर्दिष्ट किया जा सकता है --shell। कोई फर्क नहीं पड़ता कि नया उपयोगकर्ता का लॉगिन शेल क्या है, 'कंकाल' निर्देशिका की संपूर्ण सामग्री /etc/skelनए उपयोगकर्ता के घर निर्देशिका में पॉपुलेट की जाएगी।

    • SKEL=इस फाइल में चर युक्त 'कंकाल' उपयोगकर्ता फ़ाइलों डिफ़ॉल्ट निर्देशिका निर्दिष्ट करता है।

    • विकल्प --no-create-homeकमांड adduserको उपयोगकर्ता होम डायरेक्टरी बनाने के लिए मजबूर नहीं करेगा, क्रमशः 'कंकाल' निर्देशिका की सामग्री की नकल नहीं की जाएगी।

    • यदि एक गैर-विकल्प तर्क और विकल्प के साथ कहा जाता है --system, adduserतो एक सिस्टम उपयोगकर्ता जोड़ देगा ... एक घर निर्देशिका सामान्य उपयोगकर्ताओं के लिए समान नियमों द्वारा बनाई जाती है। नई प्रणाली उपयोगकर्ता के पास शेल /bin/false(जब तक कि --shellविकल्प के साथ ओवरराइड नहीं किया जाएगा ), और लॉगइन अक्षम हो जाएगा। कंकाल विन्यास फाइल की नकल नहीं की जाती है। ... मैनुअल पेज से।


इसके अतिरिक्त, जब उपयोगकर्ता किसी भी GUI टूल के साथ बनाया जाता है User Accounts, तो परिणाम कमांड के समान होता है adduser


संदर्भ:


2
useraddएक होम डाइरेक्टरी भी बनाएगा और /etc/skelयदि -mविकल्प की आपूर्ति करता है तो उसकी एक प्रति के साथ उसे पॉप्युलेट करेगा ।
21

4
आपका दूसरा कोड ब्लॉक अभी भी useraddकमांड में उपयोग करता है; यह होना चाहिए था adduser?
डेविड जेड

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