35.5. Configuração da Linha de Comando

Se você prefere trabalhar com ferramentas de linha de comando ou não tem o Sistema X Window instalado, use esta seção para configurar usuários e grupos.

35.5.1. Adicionando um Usuário

Para adicionar um usuário ao sistema:

  1. Submeta o comando useradd para criar uma conta de usuário bloqueada:

    useradd <username>
  2. Desbloqueie a conta com o comando passwd para atribuir uma senha e definir suas regras de validade.

    passwd <username>

As opções de linha de comando para useradd estão detalhadas na Tabela 35-1.

OpçãoDescrição
-c comentárioComentário para o usuário
-d home-dirDiretório home a ser usado ao invés do default /home/nome_do_usuário/
-e dataA data para a desabilitação da conta no formato YYYY-MM-DD
-f diasNúmero de dias entre a expiração da senha e a desabilitação da conta. (Se 0 é especificado, a conta é desabilitada imediatamente após a expiração da senha. Se -1 é especificado, a conta não é desabilitada após a senha expirar.)
-g nome-do-grupoO nome ou número do grupo default do usuário (o grupo deve existir antes de ser espcificado aqui.)
-G lista-de-gruposLista de nomes ou números dos grupos adicionais (além do default), separados por vírgulas, dos quais o usuário faz parte. (Os grupos devem existir antes de serem especificados aqui.)
-mCriar o diretório home se ainda não houver um
-MNão criar o diretório home
-nNão criar um grupo privado para o usuário
-rCrie uma conta do sistema com ID de usuário abaixo de 500 e sem diretório home
-p senhaA senha criptografada com crypt
-sA shell de login do usuário, cujo default é /bin/bash
-u id-do-usuárioID do usuário, que deve ser único e maior que 499

Tabela 35-1. Opções de linha de comando do useradd

35.5.2. Adicionando um Grupo

Para adicionar um grupo ao sistema, use o comando groupadd:

groupadd <group-name>

As opções de linha de comando do groupadd estão detalhadas na Tabela 35-2.

OpçãoDescrição
-g id-do-grupoID do grupo, que deve ser único e maior que 499
-rCrie um grupo do sistema com ID menor que 500
-fSaia com um erro se o grupo já existe (o grupo não é alterado). Se as opções -g e -f são especificaddas, mas o grupo já existe, a opção -g é ignorada.

Tabela 35-2. Opções de Linha de Comando do groupadd

35.5.3. Validade da Senha

Por motivos de segurança, é recomendado requerer aos usuários mudar suas senhas periodicamente. Isto pode ser feito ao adicionar ou editar um usuário na aba Informações da Senha da Administrador de Usuários.

Para configurar a expiração da senha de um usuário na janela de comandos, use o comando chage seguido de uma das opções contidas na Tabela 35-3, seguida do nome do usuário.

ImportanteImportante
 

Senhas shadow devem ser habilitadas para usar o comando chage

OpçãoDescrição
-m diasEspecifique o número mínimo de dias para o usuário alterar a senha. Se o valor é 0, a senha não expira.
-M diasEspecifique o número máximo de dias para a validade da senha. Quando o número de dias especificado nesta opção mais o número de dias especificado na opção -d é menor que a data atual, o usuário deve mudar a senha antes de usar a conta.
-d diasEspecifique o número de dias em que a senha foi alterada pela última vez, desde 1o de Janeiro de 1970.
-I diasEspecifique o número de dias inativos entre a expiração da senha e o bloqueio da conta. Se o valor é 0, a conta não é bloqueada após a senha expirar.
-E dataEspecifique a data na qual a conta é bloqueada, no formato YYYY-MM-DD. Também é possível usar o número de dias desde 1o de Janeiro de 1970, ao invés da data.
-W diasEspecifique o número de dias antes da expiração da senha para avisar o usuário.

Tabela 35-3. Opções de Linha de Comando do chage

DicaDica
 

Se o comando chage é seguido diretamente pelo nome do usuário (sem opções), traz os valores atuais para a validade da senha e permite que eles sejam alterados.

Se um administrador de sistema deseja que o usuário defina a senha na primeira vez que se autenticar, uma senha inicial ou vazia para o usuário pode ser definida para expirar imediatamente após a primeira autenticação.

Para forçar o usuário a configurar sua senha na primeira autenticação (login) no console, siga estes passos. Note que este processo não funciona se o usuário se autenticar usando o protocolo SSH.

  1. Bloquear a senha do usuário — Se o usuário não existe, use o comando useradd para criar a conta do usuário, mas não atribua uma senha para que continue bloqueada.

    Se a senha já está habilitada, bloqueie-a com o comando:

    usermod -L username
  2. Forçar expiração imediata da senha — Digite o seguinte comando:

    chage -d 0 username

    Este comando define o valor da data em que a senha foi alterada pela última vez em relação ao período (1o de Janeiro de 1970). Este valor força a expiração imediata da senha independente das regras de validade, caso existam.

  3. Desbloqueie a conta — Há duas maneiras de executar este passo. O administrador pode atribuir uma senha inicial ou uma senha vazia.

    AtençãoAviso
     

    Não use o comando passwd para definir a senha, pois desabilita a expiração imediata da senha configurada recentemente.

    Para atribuir uma senha inicial, siga estes passos:

    • Inicie o interpretador Python da linha de comando com python. Este exibe o seguinte:

      Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
      [GCC 3.2.1 20021207 (Red Hat Enterprise Linux 3 3.2.1-2)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
    • Na janela de comandos, digite o seguinte (substituindopassword pela senha a ser criptografada e salt pela combinação exata de 2 cacateres alfabéticos em caixa alta ou baixa, de 2 dígitos, o caracter ponto (.), ou a barra (/), como por exemplo: ab ou 12:

      import crypt; print crypt.crypt("password","salt")

      O output é a senha criptografada, similar a 12CsGd8FRcMSM.

    • Digite [Ctrl]-[D] para sair do interpretador Python.

    • Corte e cole o output exato da senha criptografada, sem espaços em branco iniciais ou no meio, para o seguinte comando:

      usermod -p "encrypted-password" username

    Ao invés de atribuir uma senha inicial, pode-se atribuir uma senha vazia com o seguinte comando:

    usermod -p "" username

    CuidadoCuidado
     

    Apesar de usar uma senha vazia ser conveniente para ambos, usuário e administrador, há um pequeno risco de uma terceira pessoa fazer o login primeiro e acessar o sistema. Para minimizar esta ameaça, é recomendado que o administrador verifique se o usuário está pronto para fazer o login quando a conta está desbloqueada.

    Em qualquer um dos casos, a senha será requisitada ao usuário na autenticação (login) inicial.