ADMINISTRANDO USUÁRIOS E GRUPOS NO LINUX

Ao final deste tópico, você vai descobrir que a abrangência vai além do que ele realmente diz ser! Você saberá:

  • Criar grupos de usuários no Linux
  • Criar usuários no Linux
  • Adicionar usuários aos Grupos de usuários do Linux
  • Alterar a senha de usuários no Linux
  • Alterar atributos de conta de usuário
  • Criar o diretório home do usuário e atribuir permissões
  • Excluir usuários no linux

NOTA: Se você também deseja saber como administrar usuários e grupos no Linux através da interface gráfica não deixe de ler este artigo também.

  • CRIANDO GRUPOS

Primeiramente, criaremos grupos a fim para embasar alguns exemplos em um cenário palpável. Criar grupos no Linux é uma tarefa importante e simples. Para isso utilizamos o comando GROUPADD. E um grupo pode ser utilizado para categorizar múltiplos usuários. Leia mais sobre isso na Wikipedia neste link (Acessado em 21/07/2014).

Para criar grupos de usuários utilize o comando:

# groupadd <nome do grupo>

Para criar um grupo nomeado como “pcp”.

# groupadd pcp

Exemplos, suponhamos que necessitemos realizar a instalação do Oracle. Seriam necessários três grupos: oracle, dba e oinstall. Para criar estes grupos faríamos desta forma:

# groupadd oracle 
# groupadd dba
# groupadd oinstall  

outro parâmetro:

-g  Ao usarmos esta opção, podemos especificar o GID do grupo que estamos criando.

Um sistema operacional baseado no Unix, utiliza UID e GUID para gerenciar usuários e grupos. Os nomes que damos aos usuários e grupos, servem para nossa própria utilidade, ou seja facilitam o lado humano! 🙂
A wikipedia (No link já mencionando acima) diz que “um identificador de grupo”, normalmente abreviado como GID, é um valor numérico usado para representar um grupo específico. A faixa de valores pode variar de sistema para sistema, mas ao menos os valores ao menos estarão entre 0 e 32,767, com uma única restrição: o grupo de login dos super usuários deve ter um GID 0. Este valor numérico se refere aos grupos nos arquivos /etc/passwd e /rtc/group ou seus equivalentes. Shadows Password e Network Information Service podem até fazer referencia a estes GIDs numéricos.Embora esta informação esteja correta, podemos acrescentar que mesmo em sistemas operacionais Linus este número pode ser dobrado ou maior.

Para criar um grupo informando o GID, apenas adicione o parâmetro e o valor:

# groupadd -g 11000 Administração
  • MODIFICANDO GRUPOS

Caso você tenha criado um grupo e queira fazer alguma alteração, utilize o comando GROUPMOD. Sintaxe básica: groupmod [parametro] <groupname>

parâmetros:
-g usamos este parâmetro para modificar o GID do grupo. Abaixo, utilizamos o comando para alterar o GUID do grupo helpdesk.

# groupmod -g 11200 helpdesk

-n usamos para alterar o nome do grupo. Em seguida, alteramos o nome do grupo sistemas para Desenvolvimento

# groupadd -n sistemas Desenvolvimento
  • CRIANDO USUÁRIOS

Temos grupos que podem receber usuários como membros. Para criarmos usuários, utilizamos o comando:

# useradd <nome para usuário> -s /bin/bash –d /home/<nome do usuário>  –c <um comentário qualquer> -G <grupo/s> (opcional –g <grupo> )

Onde temos os seguintes significadospara os parâmetros:

-s /bin/bash Configura o shell padrão para este usuário.

-d /home/<nome do usuário> Configura o caminho de pastas particulares deste usuário

-c <um comentário qualquer> Configura um comentário para esta conta, normalmente se utiliza um significado para esta conta, ou nome completo do usuário.

-G <grupo/s> define qual ou quais grupos em que este usuário será membro (Grupos secundários)

-g <grupo> define qual será o grupo primário deste usuário (Sempre o usuário fará parte de um grupo primário, esta opção permite definir um grupo diferente do grupo padrão)

Seguindo o nosso exemplo, vamos criar usuários para instalação do Oracle:

# useradd oracle –s /bin/bash –d /home/oracle –c “Usuário do ao Oracle” –G dba,oinstall –g oracle

Ou

# useradd alexandreb –s /bin/bash –d /home/alexandreb –c “Alexandre Barbosa” –G TI,oracle

-m  Cria um diretório home para o usuário novo e copia os arquivos de /etc/skel/ para o novo home criado. Você não precisa utilizar este comando em todas distribuições, embora seja recomendável a sua prática. O diretório /etc/skel/ contém arquivos modelos, como default de usuário, que são copiados para o diretório pessoal quando a conta é criada.

Note a imagem seguinte a listagem do diretório home e dois arquivos que foram copiados do diretório /etc/sktel/ :

sktel

Diretório SKTEL, container dos arquivos default para usuário

-p serve para especificarmos uma senha já criptografada para o novo usuário.

Mais um exemplo de criação de usuário seria:

# useradd -g suporte -s /bin/bash -d /home/suporte01 -c "Usuário da equipe de Suporte" -m suporte01 
utilizando o comando useradd

Criando usuário no Linux com o comando useradd

Para você se cansar de ver o comando seguem mais exemplos: 🙂

Utilizando useradd - novo exemplo

Adicionando novos usuários no linux utilizando useradd

  • DEFININDO SENHAS

Note que a senha não foi informada através dos comandos digitados, muito embora podíamos ter feito utilizando o parâmetro -p. Depois de criado, o novo usuário precisa de uma senha para se autenticar, então utilizamos o seguinte comando para cadastrar a senha:

# passwd <usuário>

Para o usuário que criamos para o Oracle, seria:

# passwd oracle

 

Criando nova senha para usuário no linux

Criando nova senha para usuário no linux

 

  • ALTERANDO ATRIBUTOS DE USUÁRIOS

Talvez você se deu conta que, há uma informação incorreta em relação ao comentário do usuário, ou precisa alterar os grupos que ele é membro. Utilizamos o comando usermod para fazer alterações nos atributos da conta de usuário tais como o shell, comentário, grupos ou mesmo substituir a senha. Sua sintaxe também é muito simples: usermod [parâmetros] <username>

Os parâmetros utilizados são:

-g Talvez a opção mais utilizada, permite a você alterar os grupo do usuário.

# usermod -g Suporte_BI ssoares

-c Permite a você alterar ou corrigir o comentário referente a conta do usuário.

# usermod -c "Analista de suporte técnico - BI" ssoares

Mas você poderá fazer mais alterações por vez:

# usermod -g helpdesk -c "Analista de suporte técnico junior - Manhã" thiagob

Note na imagem seguinte a utilização dos comandos:

Alterando Comentários e grupos utilizando usermod

Alterando Comentários e grupos utilizando usermod

Por algum motivo, um usuário poderá utilizar um shell diferente. Se você estiver fazendo algum testes em alguma estação ou máquina virtual e não contar um outra opção de shell, poderá fazer uma simples instalação. Para isso, podemos utilizar como exemplo um shell que é dos mais utilizados além do bash, o Korn. Em um outro post poderemos falar mais sobre ele. 🙂

Se você estiver utilizando Debian ou Ubuntu, pode utilizar:

# sudo apt-get install ksh
Instalando Korn Shell no Debian

Instalando Korn Shell no Debian

Korn Shell instalado com êxito no Debian

Korn Shell instalado com êxito no Debian

Agora depois de pronto, podemos alterar o shell de um usuário utilizando o parâmetro -s.

-s Modifica o Shell de comando que o usuário irá utilizar.

# usermod -s /bin/ksh alexandreb
Alterar o shell do usuário para o Korn

Alterar o shell do usuário para o Korn

Neste exemplo, quando o usuário fizer logon, automaticamente será direcionado para o Korn Shell.

Usuário conectado e utilizando um shell diferente

Usuário conectado e utilizando um shell diferente

O próximo parâmetro se refere a alteração de senha, não há nada de novo em relação a utilização dos outros parâmetros.

-p Altera a senha criptografada. Note o exemplo

# usermod -p Senh@123 alexandreb
Alterando user utilizando usermod

Alterando user utilizando usermod

-d Modificará o caminho do diretório home do usuário.

# usermod -d /home/alexandreb2 alexandreb
  • CRIANDO NOVO DIRETÓRIO HOME PARA USUÁRIOS

Este último parâmetro dependerá de um novo diretório para o usuário, as etapas seguintes descrevem como criar.

Pode acontecer de tentarmos fazer logon com o usuário novo, receberemos uma mensagem de erro, informando falha na pasta home do usuário, que é o local onde o sistema salvará algumas definições da conta do usuário e também será usado para salvar arquivos do perfil do usuário. Pode ocorrer negação de logon. Então, resta apontar um diretório novo e específico para usuário no diretório home, conforme especificado no parâmetro –d. Além disso, será necessário conceder permissões padrões e torna-lo proprietário deste diretório. Assim, o diretório home para novo usuário deve ser criado antes da conta ser usada pela primeira vez.

Isto pode acontecer quando você esquecer de utilizar o parâmetro -m, que teria criado o diretório para o usuário, então seguem-se os passos para corrigir:

A criação de diretório home, segue um processo natural de criação de diretórios no Linux. Primeiramente seguimos para o diretório que armazenará novo diretório:

# cd /home/

Criar o novo diretório:

# mkdir <nome do diretório>

Conforme nosso exemplo:

# mkdir oracle

Então acessamos o novo diretório criado:

# cd <nome do diretório>

Conforme nosso exemplo: cd oracle

Dependendo da distro do Linux, precisaremos criar o novos diretório Desktop e .nautilus. Fazemos desta forma:

$ mkdir Deskop
# mkdir .nautilus.

Pronto, faltará apenas conceder permissões para usuário no novo diretório home e torna-lo dono ou proprietário.

A concessão de permissões no novo diretório segue procedimento natural de concessões de permissões no Linux. Ainda no diretório novo, retorne um nível acima para o diretório pai, execute os seguintes comandos para conceder permissão padrão de usários para diretórios home:

# cd ..
# chmod 755 <nova pasta> -R

A permissão 755 já é suficiente e segue o padrão. Seguindo nosso exemplo:

# chmod 755 oracle -R

O parâmetro –R indica ao Linux a necessidade de executar um comando de forma recursiva em relação aos subdiretórios. Por exemplo, os sudiretórios “Desktop” e “.nautilus.” que foram criados no escopo de diretório “oracle” receberão também a permissão 755 quando utilizado o comando chmod 755 oracle -R. Portanto este parâmetro é opcional e não deverá ser utilizado se não houver necessidade.

O comando “cd ..” retorna um nível de escopo.

Precisamos tornar usuário novo o “proprietário” do diretório novo, para isso utilizamos o comando:

# chown <nome do usuário> <nome da pasta> -R

Conforme nosso exemplo:

# chown oracle oracle –R

Esta etapa (concessão de permissões) sempre deve ser seguida, caso contrário o sistema poderá responder de forma inesperada quando usuário fizer logon.

Caso você não esteja acostumado com comandos de shell do linux, os post acima será muito útil para você.

  • EXCLUÍNDO USUÁRIOS

Por fim, mas não menos importante, pode ser que você queira ter uma atitude mais radical e excluir a conta de usuário, para isso você pode utilizar o comando USERDEL. Sintaxe também simples: userdel [parâmetro] <usuário>

Para removermos a conta suporte10, utilizaríamos o comando:

# userdel suporte10

Visto que o diretório home contém todos os dados de usuários, que em alguns momentos não deverão ser excluídos, o userdel não removerá este diretório. Se você deseja que o mesmo seja excluído, utilize o parâmetro: -r

# userdel -r suporte10

Se você for mais radical, pode forçar exclusão de arquivos do diretório de usuários mesmo que o usuário não seja o proprietário. Para isso utilize o parâmetro: -f

# userdel -f suporte09

Além do userdel você também conta com o deluser que faz a mesma função do userdel, porém com um recurso interessante: A possibilidade de você excluir o diretório home do usuário mas salvar um backup.

Para remover o usuário e seu diretório home:

# deluser suporte08 --remove-home

Para remover o usuário e seu diretório home, mas deixar uma cópia de segurança do diretório home:

# deluser suporte07 --remove-home --backup

Este parâmetro faz com que o sistema crie um arquivo compactado, contendo os arquivos do diretório do usuário a salvo. Por padrão o backup será feito no diretório corrente, onde o comando está sendo executado.

Neste caso, como backup dos arquivos da pasta home do usuário suporte07, é criado um arquivo suporte07.tar.bz2

Tenho certeza de você estar gostando deste material e ele também estar lhe ajudando bastante. Então agora chegou sua vez de me ajudar! Você poderá fazer isto apenas por curtir este artigo! Agora se não for “pedir demais” apenas desejaria muito que você compartilhasse com seus amigos através da sua rede social. Desta forma poderei ter um indicador com melhores resultados sobre blog e poderei publicar muitos outros materiais semelhantes a este. Desde já obrigado!

Não deixe de conferir também este artigo: https://alexandrebbarbosa.wordpress.com/2015/04/16/configurar-um-usuario-como-super-usuario-ou-sudo/

NOTA: Se você também deseja saber como administrar usuários e grupos no Linux através da interface gráfica não deixe de ler este artigo também.

Have a fun! 🙂

[]’s

Anúncios

5 comentários sobre “ADMINISTRANDO USUÁRIOS E GRUPOS NO LINUX

  1. Pingback: LINUX:: Administrando usuários e grupos no Linux através da interface gráfica | Alexandre Bezerra Barbosa

  2. Muito bom Alexandre Barbosa!
    Ótimo artigo!

    Eu acho que o correto no trecho abaixo seria:
    # groupmod -n sistemas Desenvolvimento
    em lugar de
    # groupadd -n sistemas Desenvolvimento

    (…)
    MODIFICANDO GRUPOS
    Caso você tenha criado um grupo e queira fazer alguma alteração, utilize o comando GROUPMOD. Sintaxe básica: groupmod [parametro]

    parâmetros:
    -g usamos este parâmetro para modificar o GID do grupo. Abaixo, utilizamos o comando para alterar o GUID do grupo helpdesk.

    # groupmod -g 11200 helpdesk
    -n usamos para alterar o nome do grupo. Em seguida, alteramos o nome do grupo sistemas para Desenvolvimento

    # groupadd -n sistemas Desenvolvimento
    (…)

    Parabéns!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s