domingo, 3 de abril de 2016

[Linux] Um dos grandes mistérios da humanidade: adduser x useradd

Informações iniciais




   Antes de abordamos os dois lados da força, vamos colocar alguns pingos nos i's.  Tanto o useradd quando o adduser são comandos que permitem adicionar um novo usuário no sistema, além de passar uma série de parâmetros que definem diretório pessoal, shell padrão, etc.
   Pra ser mais preciso, o useradd (Vader) é pai do adduser (Skywalker). (Yes, adduser. I'm your father!). O useradd é um binário nativo do Linux ao passo que o adduser é um script em Perl com uma interface mais amigável, que usa o useradd como back-end.
   Nas distribuições Debian-like, o arquivo de configuração padrão do comando adduser está disponível em: /etc/adduser.conf. Já para o comando useradd, as configurações estão disponíveis em outro local: /etc/default/useradd.
   Nesses arquivos são definidos, entre outras coisas:

  • Shell padrão (DSHELL): 
    • /bin/bash (no adduser)   
    • /bin/sh (no useradd)
  • Esqueleto padrão de configuração do usuário (SKEL): /etc/skel
  • Diretório home padrão (DHOME):  /home

Adduser

Sintaxe: adduser [opções] usuário [grupo]
   Esse  comando atribui por predefinição  valores  UID  e GID de acordo com a política do sistema operacional. Ele cria o diretório home conforme o esqueleto da configuração,  executando  um  script  personalizado, além de outras funcionalidades.

Opções importantes:


--disabled-login
Não executa o comando passwd para configurar a senha. Nesse caso, o usuário  não será capaz de usar sua conta até que a senha seja definida.

--disabled-password
Similar a –disabled-login. Mas nesse caso  logins  ainda  são possíveis  por exemplo através das chaves SSH RSA, mas não usando autenticação por senhas.

--gid ID
Quando se fornece um nome de grupo, esta opção  faz  com  que  o  novo groupid  seja  o  número  dado e esse grupo.

--group
Quando combinado com --system, um grupo com o mesmo nome e ID do sistema  é criado.  Se  não estiver combinado com essa opção acessória, um grupo com o nome dado é criado.  Esta  é  a  ação  padrão  quando se executa o comando addgroup.

--home DIR
Use  DIR  como  o  diretório  home  do usuário, em vez do padrão especificado no arquivo de  configuração.  Se  o  diretório  não existir,  ele  será criado e o esqueleto (skel) dos arquivos são copiados.

--shell SHELL
Usa o que é fornecido em SHELL como a login  shell  do  usuário,  em  vez  do padrão  especificado no arquivo de configuração (/etc/adduser.conf).
O shell padrão das distribuições Debian-like é  /bin/bash
O arquivo de configuração padrão

--no-create-home
Não cria o diretório home.

--system
Cria um usuário de sistema.

Useradd

Sintaxe: 
  • useradd [opções] usuário 
  • useradd -D [opções]
   Quando invocado sem a opção -D , o  useradd cria uma nova conta de usuário usando os valores especificados na linha de comando, mais os valores padrão do sistema. Dependendo das opções de linha de comando, o useradd irá atualizar arquivos de sistema e também pode criar o diretório home do novo usuário e copiar os arquivos iniciais.

b, --base-dir BASE_DIR
Diretório base padrão para o sistema se não for especificada a opção -d HOME_DIR. O BASE_DIR é concatenado com nome da conta para definir o diretório padrão do usuário
 Se essa opção não for especificada, o useradd considerará o diretório base especificado em /etc/deafault/useradd ou /home por padrão

 -d, --home HOME_DIR
 Ajusta HOME_DIR como o caminho do diretório pessoal do usuário que está sendo criado. Por padrão, esse diretório é gerado pela concatenação do nome de login do usuário com o valor de BASE_DIR.

-D, --defaults
Exibe ou altera a configuração padrão do useradd 

-k, --skel SKEL_DIR  
Usa SKEL_DIR como diretório esqueleto (skeleton) alternativo.

-m, --create-home            
Cria o diretório pessoal do usuário se ele não existir. Os arquivos e diretórios contidos no diretório esqueleto serão copiados para esse novo diretório.

-M, --no-create-home        
Não cria o diretório pessoal do usuário.

-p, --password SENHA        
Senha criptografada da nova conta.

-r, --system                
Cria uma conta de sistema.

-s, --shell SHELL            
Shell de login da nova conta.
         

Nenhum comentário:

Postar um comentário