Por exemplo, se eu executasse o comando adduser test
, o .bashrc seria criado automaticamente após a criação do diretório inicial do usuário test
? Se não for criado na criação do usuário, em que condições será criado?
Além disso, se eu adicionar um arquivo .bashrc ao diretório inicial de um usuário, ele será substituído pelo sistema operacional?
Desde já, obrigado.
Responder1
Na maioria dos casos, os arquivos iniciais do usuário (incluindo .bashrc
) são criados quando o usuário é criado. Eles são cópias dos arquivos armazenados no diretório ‘esqueletal’, denominado /etc/skel
. Existem dois comandos principais:
useradd
é o comando back-end, se você usá-lo diretamente (sem nenhuma opção) apenas um usuário do sistema (e seu grupo) será criado:$ sudo useradd new-user $ ls -la /home/new-user/ ls: cannot access '/home/new-user/': No such file or directory
useradd
criará um diretório inicial e o preencherá com uma cópia/etc/skel
se a-m
--create-home
opção for fornecida. Obrigado poreste comentáriopara @jwodder.A opção
-s
--shell
alterará o nome do shell de login do novo usuário. Não importa qual seja o shell de login do novo usuário, todo o conteúdo do diretório 'esqueleto'/etc/skel
será preenchido no diretório inicial do novo usuário.Um diretório 'esquelético' diferente pode ser definido com a
-k
--create-home
opção.O arquivo de configuração deste comando é
/etc/default/useradd
.
adduser
é um front-end amigável e interativo deuseradd
. Este comando copiará os arquivos/etc/skel
para o diretório do usuário$HOME
por padrão:$ 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
O arquivo de configuração deste comando é
/etc/adduser.conf
.O valor padrão para o shell de login do novo usuário é determinado pela variável
DSHELL=
. Também pode ser especificado através da opção--shell
. Não importa qual seja o shell de login do novo usuário, todo o conteúdo do diretório 'esqueleto'/etc/skel
será preenchido no diretório inicial do novo usuário.A
SKEL=
variável neste arquivo especifica o diretório padrão que contém arquivos de usuário 'esqueléticos'.A opção
--no-create-home
forçará o comandoadduser
a não criar um diretório inicial do usuário, respectivamente, o conteúdo do diretório 'esqueleto' não será copiado.Se chamado com um argumento sem opção e a
--system
opção,adduser
adicionará um usuário do sistema... Um diretório inicial é criado pelas mesmas regras dos usuários normais. O novo usuário do sistema terá o shell/bin/false
(a menos que seja substituído pela--shell
opção) e terá os logins desabilitados.Os arquivos de configuração esquelética não são copiados. ...na página de manual.
Além disso, quando o usuário é criado com qualquer ferramenta GUI comoUser Accounts
, o resultado é idêntico ao do comando adduser
.
Referências: