Gerenciamento de usuários e grupos

24
Gerenciamento de usuários e grupos no GNU/Linux

description

Gerenciamento de usuários e grupos no Linux

Transcript of Gerenciamento de usuários e grupos

Page 1: Gerenciamento de usuários e grupos

Gerenciamento de usuários e grupos no GNU/Linux

Page 2: Gerenciamento de usuários e grupos

Adicionando novos usuários no Ubuntu

Acesse: “Sistema > Administração > Usuários e Grupos”. Abrirá a tela “Configurações de Usuários”.Dependendo da versão de Distribuição do Linux (Versão do Ubuntu no nosso caso), abrirá uma tela semelhante a esta:

Page 3: Gerenciamento de usuários e grupos

Clicando sobre a opção adicionar usuário, temos a seguinte tela como resultado:

Adicionando novos usuários no Ubuntu

Page 4: Gerenciamento de usuários e grupos

Criando usuários no GNU/Linux

adduser – Cria um novo usuário ou atualiza as informações padrão de um usuário no sistema Linux. O comando useradd cria uma entrada para o usuário no arquivo “/etc/passwd” com informações do seu login, UID (user identification), GID (group identification), shell e diretório pessoal, e a senha criptografada deste usuário é armazenada no arquivo “/etc/shadow”. A identificação do usuário (UID) escolhida será a primeira disponível no sistema especificada de acordo com a faixa de UIDS de usuários permitidas no arquivo de configuração /etc/adduser.conf. Este é o arquivo que contém os padrões para a criação de novos usuários no sistema. Comando usado para a criação de usuários:

adduser [opções] usuário

”sudo adduser fulano”Cria o novo usuário “fulano” no sistema, cujo diretório pessoal do mesmo será “/home/fulano”.

Page 5: Gerenciamento de usuários e grupos

Opção -d:

”sudo adduser -d /home/outro_dir fulano” Para criar o novo usuário “fulano” no sistema, porém com seu diretório pessoal se localizando em “/home/outro_dir”.

Opção -s:

”sudo adduser -s /bin/sh fulano” Para criar o usuário “fulano” definindo seu shell como sendo o sh. O shell padrão do Ubuntu, assim como a maioria das outras distribuições é o bash. Com esta opção “-s” é possível criar um usuário sem que o mesmo possa ter acesso a nenhum shell do sistema, bastando executar o seguinte comando ”useradd -s /bin/false fulano”.

Opção -g:

”sudo adduser -g 600 -G 500,68 fulano”

Para criar o usuário “fulano” com grupo padrão de GID 600 e também pertencente aos grupos GID 500 e GID 68. Para saber os GID de cada grupo do sistema consulte o arquivo “/etc/group”.

Criando usuários no GNU/Linux

Page 6: Gerenciamento de usuários e grupos

Criando usuários no GNU/Linux

Mais de uma opção:

adduser -m -c Fulano -d /home/meu_user -s '/bin/sh' meu_user -g usuarios

Parâmetro -d: Estamos dizendo que o diretório home de Fulano será em /home/meu_userParâmetro -s: O shell padrão para esse usuário será o /bin/shParâmetro -g: Que ele será criado no grupo usuários.

ATENÇÃO: Posso criar dois usuários root? Não, somente usuários persistentes no grupo root do sistema.

Page 7: Gerenciamento de usuários e grupos

Alterando informações dos usuáriosusermod: Para alterar as informações do usuário, é semelhante ao adduser:

usermod [opções] usuário

Opções:

usermod -d diretório usuárioAltera o diretório "home" do usuário. Adicione -m no final para mover o conteúdo da pasta anterior para a nova. Por exemplo: usermod -d /financeiro -m peterpan

usermod -e data usuário Define a data de expiração da conta do usuário. Em geral, a data é fornecida no esquema ano/mês/dia (aaaa-mm-dd). Por exemplo:usermod -e 2008-10-28 alunol

usermod -l novo_nome usuárioAltera o nome do login do usuário. No exemplo a seguir, o usuário alunotecnico teve seu nome alterado para aluno:usermod -l aluno alunotecnico

usermod -g grupo número usuárioAltera o GID do grupo principal do usuário. Por exemplo:usermod -g 42 aluno

usermod -u número usuárioAltera o UID da conta do usuário

Page 8: Gerenciamento de usuários e grupos

Alterando e controlando a senha do usuário

passwd : Se qualquer usuário quiser alterar a sua própria senha, basta digitar apenas passwd em um terminal. Quando isso ocorrer, o sistema pedirá que o usuário digite a sua senha atual e, em seguida, pedirá a nova seqüência, que deve ser informada duas vezes, para confirmação.

passwd usuario [opções]

Opções:

-e: faz com que a senha do usuário expire, forçando-o a fornecer uma nova combinação no próximo login;-k: permite a alteração da senha somente se esta estiver expirada;-x dias: faz com que a senha funcione apenas pela quantidade de dias informada. Depois disso, a senha expira e o usuário deve trocá-la;-n dias: indica a quantidade mínima de dias que o usuário deve aguardar para trocar a senha;-w dias: define a quantidade mínima de dias em que o usuário receberá o aviso de que sua senha precisa ser alterada;-i: deixa a conta inativa, caso a senha tenha expirado;-l: "tranca" a conta do usuário;-u: desbloqueia uma conta que esteja "trancada";-S: exibe o status da conta (note que a letra S deve estar em maiúscula).

Page 9: Gerenciamento de usuários e grupos

Exemplo do arquivo /etc/passwd

Page 10: Gerenciamento de usuários e grupos

Para que a senha do usuário fulano expire após 30 dias. O comando é:

passwd fulano -x 30

Para que a senha do usuário ciclano expire após 14 dias e exiba uma mensagem de que é necessário trocar a senha três dias antes da data limite. O comando será o seguinte:

passwd ciclano -x 14 -w 3

Agora, vamos supor que você queira saber do status do usuário ciclano, para confirmar as alterações. Eis o comando:

passwd ciclano -S

O resultado é:

ciclano P 12/11/2007 0 14 3 -1

A letra P acima informa que o usuário ciclano tem senha. Caso não tenha senha: NP e se tivesse bloqueada apareceria L. Por sua vez, a data que aparece na seqüência (no formato mês/dia/ano) informa a última alteração de senha que houve. As próximas quatro informações indicam, respectivamente, o período mínimo de utilização da senha, o período máximo (lembra que você definiu esse período com sendo de 14 dias?), o período de alerta (que você informou como sendo de 3 dias) e, por fim, o período de inatividade (quando não há inatividade, o resultado é -1).

Alterando e controlando a senha do usuário

Page 11: Gerenciamento de usuários e grupos

”sudo passwd fulano” para alterar a senha do usuário “fulano”.

”sudo passwd -l fulano” para bloquear a conta do usuário “fulano”.

”sudo passwd -u fulano” para desbloquear a conta do usuário “fulano”.

”sudo passwd -d fulano” para desativar a senha do usuário “fulano” deixando-o sem uma senha de acesso.

Alterando e controlando a senha do usuário

Page 12: Gerenciamento de usuários e grupos

Excluindo usuários no GNU/Linux

userdel: Comando para excluir usuário.:

userdel nomedousuario

Se além de eliminar esse usuário do sistema você quiser que sua pasta "home" seja apagada (junto com todo o seu conteúdo), basta digitar o comando userdel seguido do parâmetro -r e do nome do usuário:

userdel -r nomedousuario

Ao fazer isso, certifique-se que o usuário tem cópia de todos os arquivos a serem apagados, quando cabível.

Page 13: Gerenciamento de usuários e grupos

Curiosidades...Como já informado antes, o GNU/Linux usa o arquivo /etc/shadow para lidar com as senhas de usuários. As informações desse arquivo têm o seguinte padrão (usando como exemplo os dados do usuário fulano):

fulano:$1$O48MNVt9$08BBOTqV0cr2LtKtMXtAY1:13849:0:99999:7:::

Assim como acontece no arquivo /etc/passwd, as informações do arquivo /etc/shadow são separadas por : (dois pontos). No caso acima, aparece:Nome do usuário (fulano);A senha criptografada (é por que isso que há esse monte de caracteres sem sentido);Data da última mudança (13849);Quantidade mínima de dias que o usuário deve esperar para mudar a sua senha (0);Quantidade máxima de dias para a alteração de senha ser feita (99999) Quantidade de dias restantes à data de expiração que o sistema operacional deve esperar para exibir alertas de mudança de senha (7);Os demais campos (que estão em branco) são destinados à informações de expiração de conta, mas dificilmente são usados.

Você pode ter se perguntado sobre o motivo das datas serem representadas por um único número, como o valor 13849, acima. Essa formato indica a quantidade de dias que já se passou desde 1 de janeiro de 1970.

Page 14: Gerenciamento de usuários e grupos

Gerenciando grupos

addgroup: funciona de maneira igual ao comando adduser (inclusive algumas opções são as mesmas), no entanto, cria grupos ao invés de usuários;

addgroup [opções] nomedogrupo

groupdel: serve para eliminar grupos do sistema;

groupdel nomedogrupo

groups: Mostra os grupos dos quais um usuário faz parte.

groups nomedousuario

Page 15: Gerenciamento de usuários e grupos

As informações dos grupos são armazenadas no arquivo /etc/groups. Esse arquivo também indica quais usuários pertencem aos grupos existentes. Cada grupo contém uma linha com essas informações. Vamos analisar a seguinte linha de um arquivo /etc/groups para entender melhor como isso funciona:

alunotecnico:x:1002:joao,maria,pedro

Assim como nos arquivos /etc/passwd e /etc/shadow, os campos da linha são separados por : (dois pontos).No exemplo acima:O primeiro campo indica o nome do grupo (alunotecnico).O segundo campo informa a senha (é possível definir senhas para grupos).Neste caso, usa-se x para indicar a ausência de senha. O terceiro campo informa o GID do grupo (1002)No quarto campo informa quais são os usuários pertencentes a esse grupo.

Note que, neste exemplo, os usuários joao,maria e pedro fazem parte do grupo alunotecnico. A lista de usuários deve ser separada por vírgulas, sem espaço entre os nomes.

Gerenciando grupos

Page 16: Gerenciamento de usuários e grupos

No que se refere a este assunto, é possível que encontre grupos em seu sistema que você não lembra de ter criado. Suponha, por exemplo, que você digitou o comando groups aluno para saber quais grupos o usuário aluno, e o resultado foi o seguinte:

aluno : aluno adm cdrom floppy audio video scanner lpadmin powerdev

Note que o usuário aluno participa de vários grupos, sendo um deles o seu grupo principal, que leva o seu nome. Mas, de onde surgiram os demais? O GNU/Linux possui alguns grupos considerados "padrão", isto é, grupos que servem para permitir que o usuário execute determinadas tarefas. A quantidade e as finalidades dos grupos podem variar de acordo com a distribuição GNU/Linux utilizada e a sua configuração. Eis alguns grupos bastante comuns:

cdrom: grupo para utilização de unidades de CD/DVD;audio: grupo para acesso aos recursos de áudio do computador;video: grupo para acesso aos recursos de vídeo do computador;floppy: grupo para utilização da unidade de disquete;adm: grupo para acesso de recursos administrativos.

Gerenciando grupos

Page 17: Gerenciamento de usuários e grupos

Comandos adicionaisO GNU/Linux ainda conta com vários outros comandos que lhe ajudam a gerenciar e obter informações de usuários e grupos. Veja alguns:

logname: mostra o nome do seu usuário;

users: mostra os usuários que estão conectados ao sistema no momento;

id: mostra dados da identificação do usuário. Eis algumas opções:

id usuário: exibe os grupos (e seus respectivos GIDs) dos quais o usuário faz parte;

id -g usuário: mostra o GID do grupo do usuário;

id -G usuário: exibe o GID de todos os grupos do usuário (nome que a letra G fica em caixa alta);

id -u usuário: indica o UID do usuário.

finger usuário: mostra informações detalhadas do usuário. Se o comando for digitado isoladamente (ou seja, somente finger), o sistema exibe todos os usuários que estão conectados no sistema operacional no momento;

groups usuario: mostra os grupos a que o usuário pertence no sistema.

Page 18: Gerenciamento de usuários e grupos

Para tornar outro usuário sem ter que logar. Use da seguinte forma: su nome-do-usuárioEx: # su aluno

No caso do ubuntu e algumas outras distribuições, utilize o comando su da seguinte forma:# sudo su

Para sair do root ou de um usuário acessado via o comando su# exit ou a tecla de atalho CTRL+D

Para efetuar o logoff de um console:# exit ou # logout ou a combinação de teclas CTRL+D

Exibe usuários logados:# who# w# whoami# who am i# logname# users

Comandos adicionais

Page 19: Gerenciamento de usuários e grupos

Comandos DiversosPara limpar a tela do terminal:# clear Obs: Tecla de atalho: ctrl+l

Para exibir a data e hora:# date

Para exibir o calendário:# cal - Exibe o calendário do mês atual.# cal 2004 - Exibe o calendário do ano de 2004.

Para configurar a data e a hora. Use da seguinte forma: date MMDDHHminAAAA# date 270220302012

Para exibir Informações da Máquina. Versão, kernel, plataforma# uname -a

Page 20: Gerenciamento de usuários e grupos

Para exibir as características do Processador:# lscpu ou # cat /proc/cpuinfo

Para exibir as características de memória do sistema:# free # free -m (exibe em megas) # free -g (exibe em giga)

Exibe os módulos que estão em uso no momento:# lsmod

Listar os Processos da máquina em tempo real:# top

Exibe o tempo que a máquina está ligada:# uptime

Comandos Diversos

Page 21: Gerenciamento de usuários e grupos

tty – Consoles Virtuais

Acessar Consoles Virtuais (De F1 a F12)

Para acessar:

ALT+F1 ...ALT+F12 Ou

CTRL+ALT+F1 ... CTRL+ALT+F12 (Caso exista a interface gráfica na máquina).

No caso do FEDORA a Interface Gráfica está no console F1

No caso do Ubuntu A Interface Gráfica está no console F7

Page 22: Gerenciamento de usuários e grupos

Comandos DiversosExibe os comandos executados no console:# history

Acessa o comando do histórico!Número do comandoEx: # !15

Apaga o histórico de comandos:# history -c

Para obter ajuda do Linux: comando --helpEx: # df --help

Para obter um manual completo de um comando use da seguinte forma: man comandoEx: # man ls

Page 23: Gerenciamento de usuários e grupos

Comandos para Desligar o Servidor Linux:

Desliga o servidor:# halt# poweroff# shutdown -h now

Reinicia o servidor:# reboot# shutdown -r now# CTRL + ALT + DEL

Programa o desligamento:# shutdown -h +30 (Desliga o servidor daqui a 30 minutos)# shutdown -h +120 (Desliga o servidor daqui a 2 horas)

Programa o reinicio:# shutdown -r +30 (Reinicia o servidor daqui a 30 minutos)# shutdown -r +120 (Reinicia o servidor daqui a 2 horas)

Comandos Diversos

Page 24: Gerenciamento de usuários e grupos

Exercícios1)Torne-se root2)Crie os seguintes usuários:nome: testesenha: testenome: teste1senha: teste1Logue no console F1 com o teste1 e execute o comando top.Exiba os usuários logados de todas as formas possíveisExiba o que cada usuário está executando.Encerre (faça logout) das sessões dos usuários: teste, teste1Exclua do sistema os usuários: usuário3, usuário4, usuário5 e usuário6.Exiba a data e hora.Acerte a data e hora.Crie um alias chamado raiz que limpa a tela e exibe a raiz do disco com detalhes.Execute o alias raiz.Exiba todos os alias do sistema.Apague o alias raiz (certifique que o alias esteja apagado).Exiba a versão do kernel.Exiba a quantidade de memória RAM em giga.Exiba os módulos carregados na memória.Exiba as características do processador.Exiba os comandos que foram executados até agora.Repita o comando que criou o alias raiz.Apague o histórico de comandos.Qual comando reinicia o servidor daqui a 15 minutos?Quais comandos são capazes de desligar o servidor imediatamente?