Quando várias pessoas têm acesso a um sistema, é necessário que o administrador sistema gira os utilizadores. Para tal, deve conhecer os comandos usuais e os ficheiros a configurar.
Os ficheiros importantes a conhecer são:
*o ficheiro/etc/passwd
*o ficheiro/etc/group
O ficheiro /etc/passwd contém todas as informações relativas aos utilizadores (ligação, senha,…). Só o superutilizador (root) deve poder alterá-lo. É necessário por conseguinte 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:
nome_da_conta : palavra_passe : número_utilizador : número_de_grupo : comentário: directório: programa_de_arranque
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 estão codificadas. É por conseguinte inútil editá-las e substituir o campo mot_de_passe escrevendo directamente a senha, isto conduziria apenas ao bloqueio da conta.
Quando um utilizador se conecta, o programa loggin compara a senha escrita pelo utilizador (após tê-la 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 senha codificada por uma estrela: “*”.
Os acessos a uma conta podem eventualmente ser abertos deixando o campo mot_de_passe vazio. Qualquer pessoa que quiser ligar-se com esta conta poderá então fazê-lo.
Para poder alterar a senha de uma conta graças ao comando passwd, é necessário ser ou administrador sistema, ou proprietário da conta (o sistema pedirá então ao utilizador que escreva a antiga senha antes de lhe pedir para escrever 2 vezes a sua nova senha).
UID : identificador (único) de cada conta de utilizador. Os números de 0 a 99 estão mauitas vezes reservados para contas da própria máquina. Os valores superiores a 100 estão reservadas para as contas utilizadoras.
GID : identificador de grupo. O grupo por defeito (nomeado group) tem o número 50. Este identificador é utilizado em relação com os direitos de acesso aos ficheiros. Esta pergunta só lheinteressará se o seu sistema comportar mais de um grupo de utilizadores. (Será necessário então preocupar-se com o ficheiro /etc/group.
É possível, a partir de Shell, alterar o intérprete de comandos. Para tal, é 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 substituiram 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, User IDEM) vale zero.
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 estã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 “: ” :
nome_de_grupo: campo_especial: número_de_grupo: membro1, membro2
O campo especial está frequentemente vazio.
O número de grupo é o número que faz a relação entre os ficheiros /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 ls com a opção - l, o número de grupo é afixado com o número do utilizador quem 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 alterar 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 a ajuda de 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
O ficheiro /etc/profile permite configurar o Shell. Refere-se a todos os utilizadores.
Encontramos em primeiro lugar as variáveis de Shell como OPENWINHOME, PATH,…
Seguidamente, o tipo de terminal e a variável TERM são definidos consequentemente.
Uma parte é consagrada ao prompt de Shell, por último uma última parte permite a definição das cores do comando ls.
Durante o arranque de Linux, é bom ter o teclado numérico ligado, o que não é o caso por defeito.
Há, por conseguinte, 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 ao gosto do utilizador. Se o administrador quiser ter um prompt chamado: “Bonjour #”, basta então que edite o ficheiro /etc/profile. Este tem uma variável chamada PS1. Todas as linhas relativas a esta variável devem então ser precedidas de cardinal #. Deve então acrescentar a linha PS1=' Bonjour#'.
Falta apenas salvaguardar e realojar. Pode então aperceber-se de algumas mudanças.
dica: deixar um espaço em branco após o prompt para uma melhor legibilidade.
É igualmente possível utilizar variáveis no prompt (para mostrar, 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:
PS1='\[\033[num_couleurm]prompt_voulu\033[0m]'
O número da cor será retirado da lista seguinte:
| Preto | 0;30 |
| Vermelho | 0;31 |
| Verde | 0;32 |
| Castanho | 0;33 |
| Azul | 0;34 |
| Violeta | 0;35 |
| Turquesa | 0;36 |
| Cinzento Claro | 0;37 |
| Cinzento | 1;30 |
| Rosa | 1;31 |
| Verde Claro | 1;32 |
| Castanho Claro | 1;33 |
| Azul claro | 1;34 |
| Violeta Claro | 1;35 |
| Turquesa Claro | 1;36 |
| Branco | 1;37 |
Eis um exemplo que indica a hora seguida do nome do utilizador a vermelho:
PS1='\t \[\033[0;31m]\u\033[0m]'
Última modificação do dia Quarta 30 de Setembro de 2009 às 00:13:55.