A che punto viene creato il file ~ / .bashrc?


21

Ad esempio, se dovessi eseguire il comando adduser test, il .bashrc viene creato automaticamente al momento della creazione della home directory per l'utente test? Se non viene creato al momento della creazione dell'utente, a quali condizioni viene creato?

Inoltre, se aggiungo un file .bashrc alla home directory di un utente, verrà sovrascritto dal sistema operativo?

Grazie in anticipo.


2
Se lo avessi appena provato, lo scopriresti molto più velocemente che chiedendo qui.
Stig Hemmer,

Risposte:


30

Nella maggior parte dei casi, i file dell'utente iniziale (incluso .bashrc) vengono creati quando viene creato l'utente. Sono copie dei file memorizzati nella directory "scheletrica", denominata /etc/skel. Esistono due comandi principali:

  • useradd è il comando back-end, se lo si utilizza direttamente (senza opzioni) verrà creato solo un utente di sistema (e il suo gruppo):

    $ sudo useradd new-user
    $ ls -la /home/new-user/
    ls: cannot access '/home/new-user/': No such file or directory
    
    • useraddcreerà una home directory e la popolerà con una copia /etc/skelse l' -m --create-homeopzione è fornita. Grazie per questo commento a @jwodder.

    • L'opzione -s --shellcambierà il nome della shell di accesso del nuovo utente. Indipendentemente dalla shell di accesso del nuovo utente, l'intero contenuto della directory "scheletrica" /etc/skelverrà popolato nella home directory del nuovo utente.

    • Una diversa directory "scheletrica" ​​può essere definita con l' -k --create-homeopzione.

    • Il file di configurazione di questo comando è /etc/default/useradd.

  • adduserè un front-end intuitivo e interattivo di useradd. Questo comando copierà i file dalla directory /etc/skeldell'utente $HOMEper impostazione predefinita:

    $ 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
    • Il file di configurazione di questo comando è /etc/adduser.conf.

    • Il valore predefinito per la shell di accesso del nuovo utente è deteminato dalla variabile DSHELL=. Potrebbe essere specificato anche tramite l'opzione --shell. Indipendentemente dalla shell di accesso del nuovo utente, l'intero contenuto della directory "scheletrica" /etc/skelverrà popolato nella home directory del nuovo utente.

    • La SKEL=variabile in questo file specifica la directory predefinita contenente i file utente "scheletrici".

    • L'opzione --no-create-homeforza il comando addusera non creare una home directory dell'utente, rispettivamente il contenuto della directory 'skeletal' non verrà copiato.

    • Se chiamato con un argomento non-opzione e l' --systemopzione, adduseraggiungerà un utente di sistema ... Una home directory viene creata con le stesse regole degli utenti normali. Il nuovo utente di sistema avrà la shell /bin/false(a meno che non venga sovrascritto con l' --shellopzione) e gli accessi disabilitati. I file di configurazione scheletrici non vengono copiati. ... dalla pagina del manuale.


Inoltre, quando l'utente viene creato con qualsiasi strumento GUI come User Accounts, il risultato è identico a quello del comando adduser.


Riferimenti:


2
useraddcreerà anche una home directory e la popolerà con una copia di /etc/skelse l' -mopzione è fornita.
jwodder,

4
Il tuo secondo blocco di codice utilizza ancora useraddnel comando; doveva essere adduser?
David Z,

2
Inoltre, gli account utente fanno uso adduser, non è vero?
Gunnar Hjalmarsson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.