Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ol pessoal! Como vo? Como prometi na coluna passada, vamos tratar de permisses de acesso de usurio, mas desta vez em Linux. O primeiro impacto para um usurio muito ligado em Windows chocante, pois das janelinhas coloridas vamos nos deparar com as telas de terminal, comandos, linhas, sintaxes. No que o Linux no tenha suas telinhas grficas e ferramentas tambm, mas isso varia de distribuio para distribuio. Para uma melhor administrao, e maior abrangncia, procurei escrever com comandos nativos sem o uso de ferramentas como linuxconf e outras que precisem ser instalados pacotes extras para rodar. Ou seja, voc tendo seu Red Hat, SUSE, Conectiva, Debian, Kurumin e outras vai poder utilizar-se desses comandos sem se preocupar em instalar pacotes extras. Permisses de acesso Primeiramente vamos ao terminal verificar as permisses do arquivo ou diretrio: # ls l Obs: Caso ainda no tenha criado um diretrio, pode usar o comando mkdir ex: # mkdir renato # mkdir <diretrio>
O esquema de permisses de arquivos e pastas se d pela combinao das letras indicados esquerda (na figura). No diretrio renato, temos drwxr-xr-x como permisses, o user root como proprietrio e o grupo root como grupo. Em permisses temos sempre a seguinte estrutura _ rwx user rwx group rwx others
w = write (escrever) x = execute (executar) Os 3 primeiros caracteres dizem respeito s permisses do usurio proprietrio. Os 3 seguintes dizem respeito ao grupo e, por fim, os 3 ltimos definem as permisses dos outros usurios que no pertencem ao grupo e no so proprietrios. Exemplo: _rwr---aluno aluno cartasdoc
O arquivo cartasdoc tem permisso de ler e escrever para o usurio criador, ler para o grupo e permisso negada para outros usurios. Definindo as permisses Pense na seguinte relao: Exec, gravao e leitura Gravao e leitura Leitura e execuo Read Execuo e gravao Write Execute Nenhuma permisso (7 = 1+2+4) (6 = 2+4) (5 = 4+1) (4) (3 = 1+2) (2) (1) (0)
Com a utilizao do comando chmod, podemos definir as permisses atravs de 3 algarismos: uma para usurio proprietrio, outro para grupo e outro para outros. Exemplo: # chmode 764 arquivo Onde o 7 significa execuo, gravao e leitura para o usurio proprietrio(1 posio); o 6 significa gravao e leitura para grupo (2 posio) e, finalmente, o 4 significa leitura para outros usurios (3 posio). Grupos Adicionando um grupo Para criar um grupo utilizamos o comando groupadd. Exemplo: # groupadd contabil Para Criar usurios utilizamos o comando useradd. Exemplo: # useradd r_amadeu Para definir a senha do usurio, use o comando passwd: # passwd r_amadeu
O prximo passo definir os membros do grupo. Definindo um membro administrador: # gpasswd a r_amadeu contabil sintaxe: gpasswd a <usurio> <grupo> Obs: O administrador (pode ser um usurio comum) poder adicionar membros ao grupo mas no poder remov-los. Adicionando o administrador (atravs do comando gpasswd): # gpasswd A r_amadeu contabil sintaxe: gpasswd A <usurio> <grupo> E finalmente vamos atribuir o arquivo ou diretrio ao grupo criado: comando chgrp. #chgrp contabil renato sintaxe: chgrp <grupo> <diretrio ou arquivo> A mudana pode ser visualizada novamente como comando ls l.
Vejam que o grupo do diretrio agora o grupo contbil. Mtodo de delegao de acesso Usurio1 Usurio2 -> grupo1 -> acessa -> recurso Usurio 3 Vrios usurios pertencem a um grupo e as permisses so dadas ao grupo, provendo assim acesso vrios usurios ao mesmo recurso de maneira inteligente. Nesta operao podemos fazer uma observao na comparao Windows 2K x Linux. Percebam que no Windows temos a ACL que nos permite definir N grupos que acessam uma pasta. No Linux no temos ACL. Temos um sistema herdado no Unix onde o sistema de delegao de acesso nos permite apenas uma relao 1 para 1. Mas existe como implementar ACLs no Linux, atravs do fileutils q um pacote extra a ser instalado. Creio que em futuras verses do Linux esse suporte j esteja presente nativamente. Ateno: Ao mover os arquivos, eles sempre mantm suas permisses de acesso. Comandos teis
Criar diretrio: # mkdir <diretrio> Apagar diretrio: # rmdir <diretrio> Remover usurio: # userdel <usurio> Remover grupo: # groupdel <grupo> Verificar os usurios que o sistema possui: (os uid acima de 500 so usurios do sistema) # cat /etc/passwd Verificar os grupos que o sistema possui: # cat /etc/groups Espero que ter ajudado. Um grande abrao, fiquem com Deus e at a prxima.