Linux: gestão dos usuários

Setembro 2017
Linux: gestão dos usuários


A função do administrador

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


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, etc.). Só o Superusuário (root) pode alterá-las. Desta forma, é preciso alterar os direitos deste arquivo para que ele seja um arquivo de leitura somente para os outros usuários. Este arquivo possui um formato especial que permite marcar cada usuário e onde cada uma das suas linhas tem o seguinte formato:

nome_da_conta: senha: número_de_usuário: número_do_grupo: comentário: repertório: programa_de_inicialização

Sete campos são especificados 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 ID - identificador do usuário);
O número inteiro que identifica o grupo do usuário (GID = Group ID - identificador do grupo);
O comentário onde podemos encontrar informações sobre o usuário ou simplesmente o seu nome real;
O diretório de conexão que é aquele que se abre quando nos conectamos ao sistema;
O comando é o que se executa depois da conexão ao sistema (geralmente, este é o intérprete de comandos).

Veja, abaixo, um exemplo de arquivo passwd (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 é inútil editar e substituir o campo password ao inserir a senha diretamente, 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) com a senha que está armazenada no arquivo passwd. Se forem diferentes, a conexão não será estabelecida.

Para proibir o uso, basta substituir a senha codificada por asteriscos *.

Você pode acessar uma conta deixando o campo password aberto. Assim, qualquer pessoa que queira conectar-se com esta conta poderá fazê-lo. Para poder alterar a senha de uma conta com o comando
passwd
, é preciso que você seja o administrador do sistema ou o dono da conta (o sistema solicitará que o usuário digite a antiga senha antes de pedir para digitar a nova senha duas vezes):

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. Por padrão, o grupo possui o número 50. Este identificador é utilizado com os direitos de acesso aos arquivos. Esta parte só te interessará se o seu sistema comportar mais do que um grupo de usuários. Neste caso, você deverá levar em conta o arquivo /etc/group.

É possível alterar o intérprete de comandos a partir da shell (interface). Para isto, é preciso usar o comando
chsh
ou
passwd - s
. O Linux procurará o programa especificado no arquivo /etc/shells. Só os comandos presentes nele serão aceitos e substituirão o valor atual do campo programa_de_inicialização. 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 mudar isto, basta substituir o nome da conta root pelo nome escolhido pelo administrador. Uma conta privilegiada é uma conta cujo identificador (UID) é igual a zero.

O arquivo /etc/group

O arquivo /etc/group contém a lista dos usuários que pertencem aos diversos grupos. Quando vários 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 diversos campos separados por :, assim,
nome_do_grupo: campo_especial: número_do_grupo: membro1, membro2
. Geralmente, o campo especial está vazio. O número do grupo corresponde ao número do vínculo 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 aparece com o número do usuário a que pertence o arquivo (ou diretório). Este número único corresponde ao nome de grupo único (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 (no campo GID). É possível alterá-lo com o comando
newgrp
. Assim, os direitos de acesso aos arquivos serão definidos.

As proteções do arquivo devem impedir que os usuários sem privilégios possam alterar os arquivos.

Para acrescentar um grupo, o administrador pode alterar o arquivo /etc/group com um editor de texto. Ele também pode usar o comando
addgroup
ou
groupadd
(nem sempre presentes). No primeiro caso, bastará adicionar as linhas relacionadas aos grupos. Por exemplo, a linha
admin : : 56 : ccm
.

Para acrescentar um usuário a um grupo, basta editar o arquivo /etc/group e acrescentar o nome no final da linha separando os nomes dos membros com uma vírgula.

Para excluir 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 excluído. Também é importante procurar os arquivos e diretórios deste grupo para alterá-los (caso contrário, eles podem ficar inacessíveis).

Como personalizar o shell

Para definir o shell, use o arquivo /etc/profile. Ela pertence a todos os usuários.

Em primeiro lugar, você encontrará as variáveis do shell como OPENWINHOME, PATH. Em seguida, definimos o tipo de terminal e a variável TERM. Uma parte é consagrada ao prompt do shell e, um último, permite definir as cores do comando
ls
.

Ao iniciar o Linux, recomendamos ativar o teclado numérico, o que não é o padrão. Então, adicione as seguintes linhas ao arquivo /etc/profile:

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

Uma vez conectado ao Shell, a primeira coisa que aparece é o prompt, que pode ser definido a critério do usuário. Se o administrador quiser um indicador que diga Bom dia#, basta editar o arquivo /etc/profile.. Este arquivo contém uma variável chamada PS1. Todas as linhas relativas a esta variável devem ser acompanhadas do sinal # (jogo da velha) e você deve adicionar a linha
PS1= Bom dia#
.

Basta salvar as informações e voltar a se registrar. Você notará algumas mudanças. Um conselho, deixe um espaço em branco depois do prompt para melhorar a leitura. Também é possível utilizar variáveis no prompt do sistema (ex: mostrar a hora ou o nome da máquina, etc.):

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

A cor também pode ser alterada. Para isso, use a variável PS1 da seguinte maneira:

PS1='\[\033[num_colorm]desired_prompt\033[0m]'

Na seguinte lista aparece o número das cores:

Preto0;30
Vermelho0;31
Verde0;32
Marrom0;33
Azul0;34
Violeta0;35
Azul claro0;36
Cinza claro0;37
Cinza1;30
Rosa1;31
Verde claro1;32
Marrom claro1;33
Azul celeste1;34
Violeta claro1;35
Azul clarinho1;36
Branco1;37

Confira o exemplo que indica a hora seguida do nome do usuário em vermelho:

PS1='\t \[\033[0;31m]\u\033[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: 9 de julho de 2017 às 08:32 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.