Linux - Gestão dos utilizadores

Setembro 2015

Primeiro passo do administrador

Quando diversas pessoas têm acesso a um sistema, é necessário que o administrador sistema gira os utilizadores. Para isto, os cmandos usuais e os ficheiros a configurar devem ser conhecidos.

Os ficheiros a conhecer são :

*o ficheiro/etc/passwd
*o ficheiro/etc/group

O ficheiro /etc/passwd

O ficheiro /etc/passwd contém todas as informações relativas aos utilizadores (registo, senha,…). Só o superutilizador (root) deve poder alterá-las. É necessário, então, alterar os direitos deste ficheiro de modo a que seja só de leitura para os outros utilizadores.

Este ficheiro possui um formato especial que permite localizar cada utilizador, cada uma das suas linhas possui o formato seguinte :

nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe 
: commentaire : répertoire : programme_de_demarrage

Sete campos são esclarecidos, separados pelo carácter “: ”:
*o nome da conta do utilizador
* a palavra-passedo utilizador (codificado, claro)
*o número que identifica o utilizador para o sistema de exploração (UID=User IDEM, identificador utilizador)
*o número que identifica o grupo do utilizador (GID=Group IDEM, identificador de grupo)
*o comentário no qual se podem encontrar informações sobre o utilizador ou simplesmente o seu nome real
* o directó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)


Eis um exemplo de ficheiro passwd :

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



É importante saber que as senha situadas neste ficheiro são codificadas. Por isso é inútil editá-lo e substituir o campo mot_de_passe escrevendo directamente a palavra-passe, isto conduziria unicamente ao bloqueio da conta.

Quando um utilizador se liga, o programa de registo compara a palavra-passe digitada pelo utilizador (depois de a ter codificado) à que está no ficheiro passwd. Se forem diferentes, a conexão não pode ser estabelecida.

Para proibir a utilização, basta substituir a palavra-passe codificada calculada por uma estrela: “*”.

Os acessos a uma conta podem eventualmente ser abertos deixando o campo mot_de_passe vazio. Qualquer pessoa que se queira conectar com esta conta poderá então fazê-lo.
Para alterar a palavra-passe de uma conta graças ao comando passwd, é necessário ser quer administrador sistema, quer proprietário da conta (o sistema pedirá então ao utilizador que escreva a antiga palavra-passe antes de lhe pedir para escrever 2 vezes a sua nova palavra-passe).

UID: identificador (único) de cada conta de utilizador. Os números de 0 a 99 são frequentemente reservados para próprias contas da máquina. Os valores superiores a 100 são reservadas ficam reservados para as contas de utilizador.

GID: identificador de grupo. O grupo por defeito (chamado group) tem o número 50. Este identificador é utilizado em relação com os direitos de acesso aos ficheiros. Esta questão dir-lhe-á respeito apenas se o seu sistema comportar mais do que um grupo de utilizadores. (Será necessário então preocupar-se com o ficheiro /etc/group.

É possível alterar o intérprete de comandos a partir da Shell. Para isto, é necessário utilizar o comando chsh ou então passwd - s. O Linux procura então no ficheiro /etc/shells o programa que especificou. Só os comandos presentes neste ficheiro serão aceites e substituirão o valor actual do campo programme_de_demarrage. Estas restrições não se aplicam à conta do superutilizador.
Verifique se os direitos de acesso do ficheiro /etc/shells são os mesmos que para o ficheiro /etc/passwd
O superutilizador não se chama obrigatoriamente root. Para alterá-lo, basta substituir o nome da conta root pelo desejado.
Uma conta privilegiada é uma conta cujo identificador (UID, Gastar IDEM) vale zero.

O ficheiro /etc/group

O ficheiro /etc/group contém a lista dos utilizadores que pertencem aos diferentes grupos. Com efeito, quando numerosos utilizadores 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 ficheiros e directórios.


Compõe-se de diferentes campos separados por “: ”:

nom_de_groupe : champ_special : numero_de_groupe : membre1, membre2



O campo especial está frequentemente vazio.
O número de grupo é o número que faz a relação entre os ficheiros /etc/group e /etc/passwd

Eis um exemplo de ficheiro /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 se utiliza o comando com a opção - l, o número de grupo é afixado com o número do utilizador a que pertence o ficheiro (ou o directório). Este número único corresponde a um nome de grupo único (frequentemente 8 caracteres, no máximo).
*Um mesmo utilizador pode aparecer em vários grupos. Quando se liga ao sistema, pertence ao grupo especificado no ficheiro /etc/passwd (o campo GID). Pode alterá-lo com a ajuda do comando newgrp. Direitos de acesso aos ficheiros são então definidos.
*As protecções do ficheiro devem impedir a sua modificação pelos utilizadores não privilegiados.
*Para acrescentar um grupo, o administrador pode alterar o ficheiro /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 utilizador a um grupo, basta editar o ficheiro /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 ficheiro /etc/group e apagar a linha correspondente. Mas atenção, não é preciso não esquecer de alterar no ficheiro/etc/passwd os números (GID) do grupo suprimido. É igualmente essencial procurar os ficheiros e directórios deste grupo para os alterar (caso contrário, os ficheiros e directórios correm o risco de ficar inacessíveis).

A personalização da shell

O ficheiro /etc/profile permite configurar a Shell. Refere-se a todos os utilizadores.

Encontramos em primeiro lugar as variáveis da Shell como OPENWINHOME, PATH,…
Seguidamente, 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.

Ao arranque de Linux, é agradável ter o teclado numérico ligado, o que não é o caso por defeito.Há então algumas linhas a acrescentar ao ficheiro /etc/profile, que são:

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





Aquando da ligação ao Shell, a primeira coisa que aparece é o prompt, este pode ser configurado como o utilizador quiser.
Se o administrador quiser ter um prompt chamado: “Bonjour#”, basta então que edite o ficheiro /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 de acrescentar a linha PS1=' Bonjour#'.

 

Só falta salvaguardar e relocalizar-se. Pode-se então ver algumas mudanças.
astúcia: deixar um espaço em branco após prompt para uma melhor legibilidade.

É igualmente possível utilizar variáveis no prompt (para afixar, 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 utilizador
r para um regresso à linha
w acrescentar o caminho completo do directório corrente
W acrescentar o directório corrente
h acrescentar o nome da máquina






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

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

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





Eis um exemplo que indica a hora seguida do nome do utilizador a vermelho:
PS1='t [33[0;31m]u33[0m]'

Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Linux-gestao-dos-utilizadores .pdf

Veja também


Linux - User management
Linux - User management
Linux: Gestión de usuarios
Linux: Gestión de usuarios
Linux - Benutzerverwaltung
Linux - Benutzerverwaltung
Linux - Gestion des utilisateurs
Linux - Gestion des utilisateurs
Linux - Gestione degli utenti
Linux - Gestione degli utenti
Este documento, intitulado « Linux - Gestão dos utilizadores »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.