quarta-feira, 31 de outubro de 2012

Aula 10 - Gerenciamento de Usuários e Grupos


Segue o resumo de comandos e conceitos vistos em Sala de Aula.
Este é um material de apoio aos meus alunos que tem todo embasamento durante as aulas presenciais.

Você pode fazer o exercício desta aula no seguinte link:
Em breve...

As respostas deste exercício estão no seguinte link:
Em breve...

Você pode encontrar todos os resumos de aula no link abaixo:
http://www.dailson.com.br/2009/05/indice-mini-tutoriais-usados-em-aula.html

Criar usuários
Existem dois comandos para fazer esta operação.o adduser e useradd.
Em algumas distribuições, o adduser e useradd tem o mesmo comportamento. Porém no Debian e derivados, são comandos diferentes. O adduser faz as seguintes operações:
  • Cria um grupo
  • Cria o usuário e coloca dentro deste grupo
  • Solicita a senha
  • Solicita informações como nome completo, telefones e comentários
  • Cria o diretório /home/nome-do usuário.

Caso você use Debian/Mint/Ubuntu e derivados, faça:
# adduser nome

 comportamento será este:



Mais informações sobre este comando, use o manual através do comando
# man adduser

O Outro comando (e mais comum) é o useradd. Vamos aprender um pouco mais sobre ele:
Opções:
-m --> Cria o diretório home
-s --> Informa o shell do usuário
-c --> Informa um comentário sobre o usuário
-g --> Informa o grupo primário do usuário
-G --> Informa o(s) grupo(s) secundário do usuário

Comando para criar usuário
# useradd dailson (desta forma ele cria o grupo dailson e coloca o usuário dailson dentro do grupo)

Cria o usuário e força a criação do diretório /home
# useradd -m dailson

Cria o usuário, força a criação do diretório /home e especifica o shell
# useradd -m -s /bin/bash dailson

Cria o usuário, força a criação do diretório /home, especifica o shell e adiciona a um grupo primário alunos
# useradd -m -s /bin/bash -g alunos dailson

Cria o usuário, força a criação do diretório /home, especifica o shell  e adiciona a um grupo primário alunos e aos grupo professores
# useradd -m -s /bin/bash -g alunos -G professores dailson

Cria o usuário, força a criação do diretório /home, especifica o shell e adiciona a um grupo primário alunos e aos grupo professores e auditores
# useradd -m -s /bin/bash -g alunos -G professores,auditores dailson

Sintaxe:
useradd -m -g GRUPOPRIMARIO -G GRUPOS1,GRUPO2... nome-usuário

Alterar o nome do usuário
# usermod dailson -l dailson2 (muda o nome de login de dailson para dailson2)

Alterar o grupo primário
# usermod -g root dailson (muda o grupo primário do usuário dailson para o grupo root)

Alterar o grupo secundário
# usermod -G root dailson (muda o grupo secundário do usuário dailson para o grupo root)

Alterar o grupo secundário
# usermod -G root,alunos,professores dailson (muda o grupo secundário do usuário dailson para os grupos root,professores e alunos)

Comando para atribuir uma senha para o usuário
# passwd dailson (cria uma senha para o usuário dailson)

Comando para alterar uma senha para o usuário
# passwd dailson (altera a senha do usuário dailson)

Comando para apagar um usuário
# userdel dailson (apaga o usuário dailson)

Comando para apagar um usuário e todo o conteúdo do diretório /home
# userdel -r dailson

Comando para exibir as informações de um usuário
# id dailson (exibe as informações do usuário dailson)


Legenda:
uid - User Identification (Identificação do usuário)
gid - Group Identification (Identificação do grupo que o usuário faz parte)
groups = Informação dos grupos secundários que o usuário faz parte.

Comando para criar um grupo chamado alunos
# groupadd alunos

Comando para excluir um grupo chamado alunos
# groupdel alunos

Renomeia um grupo (de alunos para alunos novos)
# groupmod alunos -n alunosnovos

Comando para incluir um usuário dentro do grupo
# gpasswd -a dailson alunos (o usuário dailson é incluido no grupo alunos)

Coloca uma senha no grupo. Use isto para evitar que usuários ingressem em um grupo aleatoriamente. Desta forma quando um usuário der o comando anterior, uma senha será solicitada).
# gpasswd alunos

Exibindo as informações de todos os usuários
# cat /etc/passwd



Obs: Cada linha exibe um usuário do sistema.

Legenda:
Este arquivo é delimitado pelo caracter dois pontos ":"
 As informações são as seguintes:
nomeusuario:senha:UID:GID:Comentarios:Local da Pasta home:SHELL
 
Exemplo:
dailson:x:1001:0:Dailson Fernandes,Professor:/home/dailson:/bin/bash
dailson
--> nome do usuário
x --> senha criptografada
1001 --> Identificação do Usuário (UID)
0 --> Identificação do grupo primário do usuário, neste caso o grupo zero é o grupo root
Dailson Fernandes,Professor --> Comentário que foi passado na criação do usuário pelo parametro -c
/home/dailson --> Local do diretório home
/bin/bash --> Shell que será invocado quando o usuário fizer login.

Exibindo as informações de todos os grupos
# cat /etc/group



Legenda:
Este arquivo é delimitado pelo caracter dois pontos ":"
As informações são as seguintes
NOME DO GRUPO:SENHA:GID:MEMBROS   
 
Exemplo:
alunos2:x:1028:dailson2
alunos2
--> Nome do grupo
x --> Senha criptografada
1028 --> Identificação do grupo (GID)
dailson2 --> usuário dailson2 tem o grupo alunos2 como grupo secundário.

Exibindo informações de senhas dos usuários.
As senhas dos usuários ficam armazenados no arquivo /etc/shadow. As senhas são criptografadas com o algoritmo MD5 e usa recursos como SALT NUMBER.
# cat /etc/shadow

Exibindo as informações de senhas dos grupos
# cat /etc/gshadow

É possível deixar a senha dentro do arquivo /etc/passwd.
# pwunconv

Veja que a senha foi colocada no lugar do "X" no arquivo /etc/passwd
# cat /etc/passwd

Para devolver a senha para o arquivo /etc/shadow, use o seguinte comando:
# pwconv

Alguns truques:

Exibindo apenas os nomes do usuários:
# cut -f1 -d: /etc/passwd

Exibindo apenas os nomes dos usuários com pausa
# cut -f1 -d: /etc/passwd | less

Exibindo apenas os nomes dos usuários ordenado
# cut -f1 -d: /etc/passwd | sort | less

Exibindo apenas os nomes do usuários ordenados e numerado
# cut -f1 -d: /etc/passwd | sort | nl | less

Exibindo apenas os nomes dos grupos:
# cut -f1 -d: /etc/group

Exibindo apenas os nomes dos grupos com pausa
# cut -f1 -d: /etc/group | less

Exibindo apenas os nomes dos grupos ordenado
# cut -f1 -d: /etc/group | sort | less

Exibindo apenas os nome dos grupos ordenado e numerado
# cut -f1 -d: /etc/group | sort | nl | less

4 comentários: