Linux - Gestão dos usuários

Junho 2017

Como gerenciar usuários e grupos no Linux: a função do administrador

Quando diversas pessoas têm acesso a um sistema, é necessário que o administrador do sistema gerencie os usuários. Para isto, os comandos usuais e os arquivos a ser configurados devem ser conhecidos do administrador.

Quais são os principais arquivos no gerenciamento de um sistema Linux

São dois os arquivos que qualquer administrador de um sistema Linux deve conhecer e saber manipular: o arquivo /etc/passwd e o arquivo /etc/group.

O arquivo /etc/passwd

O arquivo /etc/passwd contém todas as informações relativas aos usuários (registro, senha,…). Só o super usuário (root) pode alterá-las. É necessário, então, alterar os direitos deste arquivo para que ele seja somente um arquivo de leitura para os outros usuários. Ele possui um formato especial que permite localizar cada usuário e onde, cada uma das suas linhas, possui o seguinte formato:
nome_da_conta : senha : número_usuário : número_do_grupo : comentário: repertório : programa_de_arranque


Sete campos são informados e separados pelo caractere : (dois pontos). Vejamos como aparecem estes campos:

O nome da conta do usuário
A senha do usuário (criptografado é claro)
O número que identifica o usuário para o sistema operacional (UID=User IDEM, identificador utilizador)
O número que identifica o grupo do usuário (GID=Group IDEM, identificador de grupo)
O comentário no qual se podem encontrar informações sobre o usuário ou simplesmente o seu nome real
O diretório de conexão que é aquele onde se encontra após ter-se conectado ao sistema
O comando é o executado após a conexão ao sistema (é frequentemente um intérprete de comandos)


Veja, abaixo, um exemplo de arquivo senha:


root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
cquoi:x:500:100:Cool......:/home/cquoi:/bin/bash


Saiba que as senha situadas neste arquivo são criptografadas. Por isso seria inútil editá-lo e substituir o campo senha escrevendo diretamente a senha, isto bloquearia a conta.

Quando um usuário se conecta, o programa de registro compara a senha digitada pelo usuário (depois de tê-la criptografado) àquela está no arquivo senha. Se forem diferentes, a conexão não será estabelecida.

Para proibir a utilização, basta substituir a senha codificada por asteriscos: *.

Os acessos a uma conta podem eventualmente ser abertos deixando o campo senha vazio. Qualquer pessoa que queira conectar-se com esta conta poderá fazê-lo.

Para alterar a senha de uma conta graças ao comando
passwd
é necessário ser o administrador do sistema ou o proprietário da conta (o sistema pedirá ao usuário que digite a antiga senha antes de pedir para digitar 2 vezes a sua nova senha).

UID: identificador (único) de cada conta de usuário. Os números de 0 a 99 são frequentemente reservados às contas de administrador. Os valores superiores a 100 são reservados para as contas de usuário.

GID: identificador de grupo. O grupo por padrão (group) tem o número 50. Este identificador é utilizado em relação aos direitos de acesso aos arquivos. Ele diz é usado apenas se o seu sistema comportar mais do que um grupo de usuários. (Será necessário então preocupar-se com o arquivo /etc/group.

É possível alterar o intérprete de comandos a partir da Shell (interface). Para isto, é necessário utilizar o comando
chsh
ou então
passwd - s
. O Linux procura então no arquivo /etc/shells o programa que especificou. Só os comandos presentes nele serão aceitos e substituirão o valor atual do campo programa_de_arranque. Estas restrições não se aplicam à conta do superusuário.

Verifique se os direitos de acesso do arquivo /etc/shells são os mesmos que para o arquivo /etc/passwd .

O superusuário não deve ser chamado obrigatoriamente de root. Para alterá-lo, basta substituir o nome da conta root pelo nome escolhido pelo administrador.

Uma conta privilegiada é uma conta cujo identificador (UID, Gastar IDEM) vale zero.

O arquivo /etc/group

O arquivo /etc/group contém a lista dos usuários que pertencem aos diferentes grupos. Quando numerosos usuários podem ter acesso ao sistema, estes são frequentemente reunidos em diferentes grupos que têm cada um os seus próprios direitos de acesso aos arquivos e diretórios. Ele é composto por diferentes campos separados por :, assim,
nome_do_grupo : campo_especial : número_do_grupo : membro1, membro2
. O campo especial está frequentemente vazio. O número do grupo é o número que faz a relação entre os arquivos /etc/group e /etc/passwd.

veja, abaixo, um exemplo de arquivo /etc/group ::


root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
tty:x:5:
disk:x:6:
lp:x:7:
wwwadmin:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:cyrus
news:x:13:news


Quando o comando é utilizado com a opção - l, o número do grupo é exibido com o número do usuário a que pertence o arquivo (ou o diretório). Este número único corresponde a um nome de grupo único (frequentemente 8 caracteres, no máximo).

Um mesmo usuário pode aparecer em vários grupos. Quando ele se conecta ao sistema, pertence ao grupo especificado no arquivo /etc/passwd (o campo GID). Pode-se alterá-lo com a ajuda do comando
newgrp
. Os direitos de acesso aos arquivos são então definidos.

As proteções do arquivo devem impedir a sua modificação pelos usuários não privilegiados.

Para acrescentar um grupo, o administrador pode alterar o arquivo /etc/group com um editor de texto. Pode igualmente utilizar o comando
addgroup
ou
groupadd
(nem sempre presentes). No primeiro caso, terá unicamente as linhas que correspondem aos grupos a acrescentar. Por exemplo, a linha:
admin : : 56 : ccm
.

Para acrescentar um usuário a um grupo, basta editar o arquivo /etc/group e acrescentar este nome à extremidade da linha separando o nome dos membros por uma vírgula.

Para suprimir um grupo, basta editar o arquivo /etc/group e apagar a linha correspondente. Mas atenção, é preciso alterar no arquivo /etc/passwd, os números (GID) do grupo suprimido. É igualmente essencial procurar os arquivos e diretórios deste grupo para alterá-los (caso contrário, eles correm o risco de ficar inacessíveis).

A personalização da shell

O arquivo /etc/profile permite configurar a Shell. Refere-se a todos os usuários. Encontramos em primeiro lugar as variáveis da Shell como OPENWINHOME, PATH. depois, o tipo de terminal e a variável TERM são definidos. Uma parte é consagrada ao prompt de Shell, e um último permite a definição das cores do comando
ls
.

No arranque do Linux, é confortável ter o teclado numérico ativado, o que não é o caso um padrão. Tem então algumas linhas a acrescentar ao arquivo /etc/profile, que são:


INITTY=/dev/tty[1-7]
for tty in $INITTY;
do setleds -D +num < $tty
done


Durante à conexão à Shell, a primeira coisa que aparece é o prompt, este pode ser configurado como o usuário quiser. Se o administrador quiser ter um prompt chamado: Bom dia#, basta editar o arquivo /etc/profile.. Este contém uma variável chamada PS1. Todas as linhas relativas a esta variável devem então ser precedidas de um cardinal: #. Depois, tem-se que acrescentar a linha
PS1= Bom dia#
.

Só falta salvar e localizar. Pode-se então ver algumas mudanças.
dica: deixe um espaço em branco após o prompt para uma melhor legibilidade. É igualmente possível utilizar variáveis no prompt (para exibir, por exemplo, a hora ou o nome da máquina…):


d para acrescentar a data (formato inglês)
t acrescentar a hora (HH: MM: SS)
u acrescentar o nome do usuário
r para uma volta à linha
w acrescentar o caminho completo do diretório atual
W acrescentar o diretório corrente
h acrescentar o nome da máquina


A cor pode igualmente ser alterada. Para tanto, é necessário utilizar a variável PS1 , assim,
PS1='[33[num_couleurm]prompt_voulu33[0m]'


O número da cor será retirado da seguinte lista:


Preto0;30
Vermelho0;31
Verde0;32
Castanho0;33
Azul0;34
Violeta0;35
Azul claro0;36
Cinzento claro0;37
Cinzento1;30
Rosa1;31
Verde claro1;32
Castanho claro1;33
Azul Claro1;34
Violeta claro1;35
Azul muito claro1;36
Branco1;37


Confira o um exemplo que indica a hora seguida do nome do usuário em vermelho:
PS1='t [33[0;31m]u33[0m]'

Veja também


Linux - User management
Linux - User management
Linux: Gestión de usuarios
Linux: Gestión de usuarios
Linux - Gestion des utilisateurs
Linux - Gestion des utilisateurs
Linux - Gestione degli utenti
Linux - Gestione degli utenti
Última modificação: 8 de maio de 2017 às 04:49 por ninha25.
Este documento, intitulado 'Linux - Gestão dos usuários', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.