Administração de usuários e grupos

O Linux é um sistema operacional multiusuário, portanto é necessário que todos os usuários sejam cadastrados e tenham permissões de acesso diferenciadas. É possível também cadastrá-los em grupos para facilitar o gerenciamento.
A criação e administração de contas de usuários no sistema é tarefa do superusuário (root). É uma tarefa que demanda responsabilidade e deve ser acompanhada com muita atenção.
Root é um usuário especial, ele pode fazer TUDO em seu sistema, não importa a tarefa, ele pode executá-la (ao contrário dos usuários comuns, que têm restrições).
Ferramentas
Existem várias ferramentas de administração nos sistemas Linux, normalmente elas extrapolam o simples controle de usuários e fazem muitas outras coisas, tais como configuração de rede.
Como as ferramentas entre as mais variadas versões/distribuições de Linux podem trabalhar de forma diferente, e em algumas versões/distribuições nem ferramentas existem, como no Solaris (Unix) e no Slackware (Linux), existem um conjunto de comandos genéricos e que funcionam de forma quase idêntica entre todas elas e que vamos conhecer na seqüência.
Verificando informações do usuário
Todo usuário possui um número chamado user ID com o qual o sistema Unix/Linux identifica-o no sistema. Além do user ID, os usuários possuem o group ID. Toda vez que um processo for ativado será atribuído ao processo um User ID e um Group ID. Estes ID’s são chamados de identificação efetiva do processo.
id [ opções ] [ nome ]
Exemplos de utilização:
Sem parâmetros, pegando as informações do usuário atual.
# id
uid=1094(root) gid=500(root) grupos=500(root)
Pegando somente o user id do usuário atual.
# id -u
1094
Verificando o ID, GID e grupos:
# id [usuário]
Tornando-se outro usuário
Permite o usuário mudar sua identidade para outro usuário sem fazer o logout. Útil para executar um programa ou comando como superusuário sem ter que abandonar a seção atual.
# su [usuário]
Usuário é o nome do usuário que deseja usar para acessar o sistema. Se não digitado, é assumido o usuário .
Será pedida a senha do superusuário para autenticação. Digite quando desejar retornar a identificação de usuário anterior.
Comando useradd
Permite que se criem usuários conforme especificado em opções. Somente o superusuário poderá utilizar este comando:
useradd [ opções ] usuário
Este comando irá alterar os arquivos:
/etc/passwd – informações de contas de usuários e senhas criptografadas;
/etc/shadow – informações de contas de usuários e senhas criptografadas;
/etc/group – informações de grupos.
Exemplos de utilização
Cria o usuário:
# useradd [usuário]
Cria o usuário e designa o diretório /home/ como o diretório pessoal deste:
# useradd -d /home/usuário [usuário]
Cria o usuário com o shell sh:
# useradd -s /bin/sh [usuário]
Cria o usuário com o grupo root.
# useradd -g root [usuário]
Cria o usuário com várias informações:
# useradd -d /home/usuário -g users -c “ESTUDO LINUX” usuário
Utilize o manual para ver outras opções de utilização do comando useradd:
# man useradd
Comando adduser
Dependendo da distribuição, o comando “adduser” vai ser apenas um comando igual ao”useradd”, ou então um script interativo que irá lhe fazendo perguntas, as quais você irá respondendo e então o script criará um usuário no sistema para você.
Criar um usuário padrão:
# adduser [usuário]
Habilitar uma senha ou modificar senha:
# passwd [usuário]
Você pode especificar outros parâmetros para o usuário, como no comando a seguir:
# adduser [usuário] -d /var/usuarios/usuario -s /dev/null
Com estes parâmetros, foi especificado que o usuário terá como diretório home o “/var/usuarios/usuario” e como shell o diretório “/dev/null” (ou seja, não terá shell). Sem estes parâmetros, por padrão, o diretório home seria “/home/usuario” e o shell seria “/bin/bash”.
Cada um desses programas/comandos escreve o usuário no arquivo de configuração do Linux referente aos usuários do sistema. Este arquivo é o “/etc/passwd”. Cada linha deste arquivo é um usuário cadastrado no sistema.
Você pode muito bem criar uma conta sem usar estes programas/scripts citados acima. O “passwd” é formado por linhas onde cada uma é um usuário. Então vamos aprender a montar tais linhas:
usuário:x:1001:100:Marcos_Froes:/home/usuario:/bin/bash
Acrescentando através da Shell:
# echo “usuário:x:1001:100:Marcos_Froes:/home/usuario:/bin/bash” >> /etc/passwd
Vamos dividir esta linha em “campos”, onde cada um é separado por: (dois pontos):
Usuário => Login do Usuário, aqui você pode colocar o nome que quiser com até 8 caracteres.
X => Aqui diz que o password está no arquivo /etc/shadow. Se estivesse com *, a conta estaria desabilitada e se estivesse sem nada (::), a conta não teria password.
1001 => UID (User IDentification), o número de identificação do usuário.
100 => GID (Group IDentification), o número de identificação do grupo do usuário.
Marcos_Froes => Comentários do usuário, como nome, telefone, etc.
/home/usuário => O diretório HOME do usuário, ou seja, o diretório pertencente a ele. Geralmente estes diretórios estão sempre em /home.
/bin/bash => Shell do usuário, ou seja, o programa que irá enterpretar os comandos que o usuário executar.
Obs: O /etc/shadow é um arquivo que contém a senha do usuário criptografada, se alguém tiver posse dela, esta pessoa pode comparar as senhas com uma lista de palavras e descobrir as senhas dos usuários. Felizmente, este arquivo está muito bem protegido pelo sistema.
Modificando o nome de um usuário
# usermod -l novo_nome usuário
Removendo um usuário:
Você pode apagar a linha referente a ele no /etc/passwd e os seus arquivos, ou simplesmente digitar:
# userdel -r usuário
Combine com a opção -r para deletar junto o diretório HOME do usuário.
Trabalhando com grupos
Criando um grupo (este comando escreve uma linha no arquivo /etc/group):
# groupadd [grupo]
Adicionando uma senha para o grupo:
# gpasswd [grupo]
Mudando a propriedade de um arquivo:
# chown novo-dono.novo-grupo arquivo
O comando acima altera o proprietário e o grupo do arquivo. Pode-se usar a opção -R para alterar recursivamente propriedades dentro de um diretório.
Um arquivo que também tem muito haver com os usuários no Linux é o /etc/group, que contém as definições de cada grupo, como por exemplo seus nomes, GIDs, e usuários adicionais que pertencem à ele. Se você adicionar uma linha neste arquivo estará criando um novo grupo. Vamos criar um novo grupo no /etc/group:
Clube_do_Hacker:x:666:Marcos_Froes,user1,user2,user3
Adicionando esta linha no arquivo /etc/group, um novo grupo é criado com o nome ‘Clube_do_Hacker’, GID ‘666’ e com usuários adicionais pertencentes à ele: ‘Marcos_Froes,user1,user2,user3’.
Removendo um grupo:
# groupdel [nome_grupo]
Renomeando um grupo:
# groupmod [novo_nome] [nome_antigo]
Adicionando um usuário a um grupo:
# adduser [usuário] [grupo]
# gpasswd -a [usuário] [grupo]
Combinando este conhecimento com algo sobre permissões dos arquivos, conteúdo a ser visto no próximo módulo, você pode controlar muito bem quem usa o seu sistema ou servidor, sabendo quem pertence aos grupo, quais seus diretórios, que arquivos podem acessar, entre outros.
Comando passwd
O comando passwd permite que se troque a senha de determinado usuário. O superusuário pode trocar a senha de qualquer outro. O usuário comum, porém, pode trocar somente a sua senha. As senhas são armazenadas no arquivo /etc/passwd ou /etc/shadow. No arquivo /etc/passwd também é armazenado as informações relativas aos usuários.
Após a criação do usuário será necessário criar uma senha para este, caso contrário, não será permitido que este usuário faça login no sistema.
passwd [ usuário ]
Exemplos de utilização:
Alterando a senha de outro usuário (é preciso ser o superusuário):
# passwd [usuário]
Alterando a própria senha (usuário comum pode utilizar este comando):
# passwd
Para sua segurança, deve-se configurar o sistema para que:
=> A senha deva ter no mínimo 6 caracteres;
=> A senha deva ter no mínimo duas letras maiúsculas e/ou duas letras minúsculas e pelo menos um dígito ou caractere especial;
=> São aceitos somente os caracteres ASCII padrão de códigos 0 a 127;
=> A senha deve diferenciar do nome da conta (obrigatório);
=> A nova senha deve diferenciar da senha velha em pelo menos três caracteres.
=> As regras acima não se aplicam ao superusuário.
Os utilitários para manutenção de senhas criptografadas são:
=> pwconv: utiliza os valores definidos em /etc/login.defs para adicionar entradas no arquivo /etc/shadow e remove qualquer entrada do /etc/shadow que não tenha correspondente no arquivo /etc/passwd.
=> pwunconv: compara os arquivos /etc/passwd e /etc/shadow, colocando as entradas do campo de senhas do arquivo /etc/shadow nas linhas correspondentes do arquivo /etc/passwd. O arquivo /etc/shadow é removido.
Este utilitário (citação abaixo) é usado para se migrar usuários de outro sistema: após executar o pwunconv copia-se as linhas dos novos usuários no /etc/passwd, e a seguir gera-se o /etc/shadow novamente com o pwconv.
=> grpconv: faz a mesma função do pwconv, porém com os grupos do /etc/group. Arquivo sobra de senhas de grupos é o /etc/gshadow.
=> grpunconv: faz a mesma função do pwunconv, porém com os grupos.

 

fonte: clubedohacker.com.br

CATEGORIES:

Software Livre

Tags:

No responses yet

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *