Administracao de Usuarios e Grupos

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

Administração de Usuários e Grupos

Um usuário Linux é uma entidade que possui um login, uma senha e um número de identificação. Estas informações permitem ao Linux controlar o acesso do usuário ao sistema e definir, a partir de suas permissões de acesso, o que ele pode fazer [1].

Um grupo é um conjunto de usuários, e também possui nome e um número de identificação.

Os grupos devem ser formados a partir de usuários afins, como por exemplo em uma escola, o grupo professores, o grupo técnicos e o grupo alunos. A criação dos grupos deve refletir a estrutura organizacional da instituição. Os grupos compartilham recursos e permissões, como por exemplo, acesso a determinados arquivos, impressoras, etc.

Cada usuário deve pertencer a pelo menos um grupo, que é seu grupo primário. Outros grupos podem ser associados e serão seus grupos secundários.

Criação de contas de usuários e grupos

Criar um grupo
groupadd nome_grupo
Remover um grupo
groupdel nome_grupo
Criar um usuário
adduser login

Consulte as páginas man para outras opções na criação de usuários. Cada distribuição Linux apresenta um conjunto diferente de parâmetros para criação de usuários.

Parâmetros adicionais:

  • --ingroup para definir o grupo primário do usuário. Caso não seja informado, o Linux cria um grupo com o mesmo nome do usuário.

Para adicionar um usuário a um grupo secundário, usa-se o comando:

adduser usuário grupo_secundário

Para alterar a senha do usuário, usa-se o comando:

passwd login
Remover um usuário
userdel login

Parâmetro adicional:

  • --remove-home apaga o diretório /home do usuário e todo seu conteúdo.

Arquivos de cadastro e definição das contas dos usuários do sistema

As contas de usuários, grupos e senhas ficam armazenadas nos arquivos:

/etc/passwd
/etc/group
/etc/shadow
Arquivo /etc/passwd
Neste arquivo estão cadastrados todos os usuários do sistema. Contas com UID (identificação de usuário) e GID (identificação de grupo) menor que 500 são contas do sistema. O primeiro usuário e grupo cadastrado tem o número 1000. Este arquivo deve ter permissão de leitura por todos os usuários.

Exemplo de linha do arquivo /etc/passwd, com cada campo separado por ":"

login:x:1000:1000:Nome Completo,,,:/home/login:/bin/bash

Descrição dos campos:

  • login: Login do usuário;
  • x:Este campo continha a senha do usuário. Nos sistemas modernos as senhas são criptografadas e ficam armazenadas no arquivo /etc/shadow;
  • 1000: UID
  • 1000: GID
  • Nome completo e outras informações separadas por vírgula;
  • /home/login: Diretório home do usuário;
  • /bin/bash: Shell do usuário.
Arquivo /etc/group
Contem a relação dos grupos do sistema. Cada linha do arquivo contem o nome do grupo, a senha, o GID (identificação de grupo) e a lista de usuários do grupo.
Arquivo /etc/shadow
Contém as senhas criptografadas dos usuários . Este arquivo é de uso exclusivo do administrador, somente ele consegue visualizar, editar ou copiar este arquivo.
Arquivo /etc/login.defs
Contem diretivas e padrões utilizados na criação das contas de usuários, incluindo número de caracteres para senhas, número de dias para que as senhas expirem, UID e GIU mínimo e máximo, criação ou não de diretório /home, etc.
Arquivo /etc/default/useradd
Também contem diretivas para criação das contas de usuários, incluindo a definição do grupo primário, o local do diretório /home, o shell padrão do usuário, etc.

Pesquisa nas bases de dados passwd e group

O comando getent auxilia a pesquisar em arquivos de bases de dados do sistema, entre eles o passwd e o group [2].

Exemplos de uso:
getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
getent passwd man
man:x:6:12:man:/var/cache/man:/bin/sh

Referências

  1. VALLE, O. T. Adminstração de Redes com Linux: Fundamentos e práticas, IFSC, Florianópolis, 2010.
  2. https://en.wikipedia.org/wiki/Getent

--Evandro.cantu (discussão) 18h21min de 5 de julho de 2015 (BRT)