Date: Tue, 9 Jul 1996 16:10:25 -0300 From: Lenimar Nunes de AndradeSubject: [JAMPA] Anuncio de mensagens (?) Oi, pessoal! Nesta semana espero enviar para esta lista dois textos que andei lapidando nos u'ltimos dias. Os dois textos sao "um pouco" longos (se voce for rapido, da' pra' ler em uma tarde! 8^} 8^} ), mas como eu os dividi em se,c~oes, fica fa'cil de ler somente algumas partes, se o leitor assim o desejar. O primeiro deles trata dos modos de permiss~ao do Unix/Linux. Eu espero que usua'rios como Bergson, Sergio, Emerson Brasil vejam alguma utilidade nele. E' uma adaptacao de um capi'tulo de uma apos- tila introduto'ria sobre Unix que circula na UNICAMP misturada com informa,c~oes obtidas com os comandos "man ls" e "man chmod". Eu sempre tinha du'vidas com relacao a esses modos de permiss~ao desde os tempos de Bitnet (90/91/...) quando eu recebia as listagens do Bitftp e n~ao entendia o que eram aqueles caracteres -rw-r--r-- que apareciam no ini'cio da maioria das linhas. O segundo texto e' um texto reciclado que eu elaborei inicial- mente em 1992. Ele fala sobre o uuencode. Quem, de forma precipi- tada, pensar que este e' um assunto ultrapassado vai ver logo, logo que esta' um pouquinho enganado. Vejam, por exemplo, os servidores de WWW via e-mail dos pai'ses ricos E.U.A., Alemanha e Japao re- centemente criados. Todos eles enviam imagens das 'home pages' no formato uuencode. Sera' que esse pessoal cria esses servidores somente para atender usua'rios atrasados como eu ?? Como eles s~ao bonzinhos... !!! Fico ate' comovido com isso. Nesse texto do uuencode eu n~ao ia deixar passar uma chance de provocar os usua'rios mais experientes da lista: voc^e acredita que seja possi'vel transformar qualquer programa .COM em um TEXTO e o programa (que virou texto) ainda continuar sendo executa'vel, como se n~ao tivesse acontecido nada? Acredita n~ao? Ent~ao veja a introdu,c~ao do texto sobre o uuencode. Abra,cos para todos, Lenimar N. Andrade ================================================================== Date: Fri, 12 Jul 1996 02:05:22 -0300 From: Lenimar Nunes de Andrade Subject: [JAMPA] Modos de permissao dos arquivos do Unix/Linux ====================================== OS MODOS DE PERMISSAO DO UNIX OU LINUX ====================================== Introducao ---------- Quem ja' usou o TELNET ou o FTP para ter acesso a computadores remotos, ja' percebeu que as listagens dos comandos "dir" ou "ls -l" sao compostas de varias colunas de informacoes. E' facil identificar nessas listagens o nome, tamanho, data e dono dos arquivos. Mas o que sao estes 10 caracteres do inicio das linhas? Para que servem? E'pos- ----- | v -rw-r--r-- 1 lna ftp-adm 181830 May 16 11:26 AAResources -rw-r--r-- 1 lna ftp-adm 53104 May 16 11:26 FAQ drwxr-xr-x 2 lna ftp-adm 512 Oct 18 1995 Info drwxr-xr-x 2 lna ftp-adm 1024 Oct 18 1995 Software -rw-r--r-- 1 lna ftp-adm 61905 Apr 15 05:37 Welcome sivel altera'-los `a vontade? Procuraremos responder a estas pergun- tas ao longo deste texto. Geralmente os usuarios conectados `a Internet tem conta em uma maquina executando Unix ou Linux, mas os sistemas de janelas, ampla- mente utilizados atualmente, muitas vezes impedem que estes caracte- res sejam vistos. Verificando quem pode ter acesso aos arquivos --------------------------------------------- Tres classes de usuarios podem ter acesso aos arquivos: o dono (a pessoa que criou o arquivo), o grupo (usuarios que sao agru- pados pelo administrador do sistema) e os outros (todos os usuarios conectados `a rede). Os 10 primeiros caracteres das linhas listadas pelo "ls -l" ou "dir" definem precisamente o que os usuarios de cada classe podem fazer com seus arquivos. Esses caracteres sao cha- mados de modos de permissao dos arquivos. Para entender o que esses caracteres significam, separe-os em 4 grupos com 1, 3, 3 e 3 carac- teres: [ ] [ ][ ][ ] [ ][ ][ ] [ ][ ][ ] | | | | tipo dono grupo outros O primeiro caracter define o tipo de arquivo: se for um "-" entao e' um arquivo normal. Se for um "d", e' o nome de um direto- rio. Se for um "l" entao e' um 'link' simbolico. Outras possibilida- des raramente utilizadas sao "b", "c", "p" ou "s". Os outros 9 caracteres devem ser separados em 3 grupos de 3 caracteres: o primeiro grupo define as permissoes do dono do arquivo, o segundo grupo as permissoes do grupo de usuarios e o terceiro define as permissoes de todos os outros usuarios. Em cada grupo, as permissoes sempre aparecem na ordem leitura- escrita-execucao. A permissao de leitura e' sempre indicada com um "r", a permissao de escrita com um "w" e a permissao de execucao com um "x". Permissao negada e' indicada com um "-". Exemplo: Entre as linhas que aparecem na listagem de diretorio que apresentamos no inicio deste texto, temos as duas linhas seguintes: -rw-r--r-- 1 lna ftp-adm 53104 May 16 11:26 FAQ drwxr-xr-x 2 lna ftp-adm 512 Oct 18 1995 Info Correspondendo ao nome "FAQ" temos as permissoes -rw-r--r-- , que podem ser separadas da seguinte forma - rw- r-- r-- tipo dono grupo outros O primeiro "-" significa que FAQ e' um arquivo comum. As permissoes do dono de FAQ sao "rw-", o que significa que o dono pode ler e es- crever no arquivo. As permissoes do grupo ou dos outros usuarios e' "r--" o que significa que eles podem apenas ler (ou copiar) o arqui- vo. Correspondendo ao nome "Info" temos as permissoes drwxr-xr-x. O tipo do arquivo e' "d", ou seja, e' um diretorio. As permissoes do dono sao "rwx", isto e', o dono pode ler, escrever e executar o diretorio. "Executar o diretorio" significa poder "entrar" nele e e- ventualmente utilizar seus arquivos. As permissoes do grupo e de to- dos os outros usuarios e' "r-x", isto e', eles podem ler e executar mas nao podem escrever nada no diretorio. Exemplo: Todos as mensagens que chegam para determinado usuario, via correio eletronico, sao guardadas em um unico arquivo com nome igual ao nome de 'login' no subdiretorio /var/spool/mail (ou nome de cami- nho parecido). No meu caso, a listagem deste arquivo com o comando "ls -l" mostra a seguinte linha -rw-rw---- 1 ccendm03 mail 18750 Jul 2 13:59 ccendm03 Isto significa que o dono (rw-) tem permissao de leitura e escrita neste arquivo, o grupo "mail" tambem tem as mesmas permissoes (rw-). Os outros usuarios (---) nao podem ter acesso a ele. Resta saber quem sao os usuarios do grupo "mail" definidos pelo admistrador do sistema. Alterando as permissoes de acesso a um arquivo ---------------------------------------------- Use o comando 'chmod' para alterar as permissoes de um arquivo seu. Este comando pode ser usado de duas maneiras: (1) chmod atribuicao arquivo onde "atribuicao" e' uma sequencia de caracteres formada por: - pelo menos um dos caracteres "u" (dono), "g" (grupo) ou "o" (outros), indicando a(s) classe(s) que tera'(ao) permissao alterada; - os sinais "+", "-" ou "=" indicando se a permissao sera' adicionada (+), retirada (-) ou definida (=); - pelo menos um dos caracteres "r" (leitura), "w" (escri- ta) ou "x" (execucao) indicando as permissoes. Exemplo: -------- % chmod ugo=rw texto.doc Este comando determina que o dono, o grupo e todos os outros usuarios tenham permissao de leitura e escrita no arquivo texto.doc. Desse modo, o comando "ls -l" mostrara' algo parecido com -rw-rw-rw- 1 ccendm03 users 1200 Jul 5 20:09 teste.doc % chmod go-w texto.doc Neste comando, sao retiradas as permissoes de escrita no arquivo texto.doc para os usuarios do grupo e tambem para todos os outros usuarios: -rw-r--r-- 1 ccendm03 users 1200 Jul 5 20:09 teste.doc % chmod g+w texto.doc Agora, o grupo de usuarios tambem tera' permissao de escrita no arquivo texto.doc: -rw-rw-r-- 1 ccendm03 users 1200 Jul 5 20:09 teste.doc (2) Outra forma de usar o 'chmod': chmod numero arquivo onde "numero" e' um numero octal (base 8) formado por 3 algarismos, todos no intervalo de 0 a 7, de tal forma que a representacao binaria com 9 digitos deste numero esteja relacionada aos modos de permissao da seguinte forma: 0 corresponda a permissao negada, 1 corresponda a permissao concedida. Exemplo: chmod 644 Teste 644 em octal corresponde na representacao binaria a 110100100. Logo as permissoes de Teste ficarao sendo rw-r--r--. O comando chmod nao altera o tipo: arquivo continua sendo arquivo e diretorio conti- nua sendo diretorio. Por exemplo, se Teste fosse um arquivo antes da aplicacao do chmod, entao suas permissoes depois do uso do coman- do ficariam sendo -rw-r--r--. Essa conversao octal <---> permissoes e' feita facilmente se vo- ce observar a seguinte tabela --------------------------------------- numero binario equiv. permissoes --------------------------------------- 0 000 --- 1 001 --x 2 010 -w- 3 011 -wx 4 100 r-- 5 101 r-x 6 110 rw- 7 111 rwx --------------------------------------- Exemplo: chmod 625 teste.txt Observando a tabela, o 6 corresponde a "rw-", o 2 corresponde a "-w-" e o 5 corresponde ao "r-x". Portanto, se texte.txt for um arquivo (tipo "-") as permissoes apos o chmod serao -rw--w-r-x . Exemplos diversos ----------------- ===================================================================== Permissoes Comando Descricao --------------------------------------------------------------------- -r-------- chmod 400 arquivo Somente o dono pode ler o arqui- vo, ninguem pode escrever. --------------------------------------------------------------------- -r--r--r-- chmod 444 arquivo Todos podem ler o arquivo, nin- guem pode escrever. --------------------------------------------------------------------- -rw-rw-rw- chmod 666 arquivo Todos podem ler e escrever no arquivo. --------------------------------------------------------------------- drwxrwxrwx chmod 777 diretorio Todos podem ler, escrever, criar ou apagar arquivos do diretorio. --------------------------------------------------------------------- drwx------ chmod 700 diretorio Somente o dono pode ler, escre- ver, criar ou apagar arquivos. Ninguem mais pode ter acesso a este diretorio. --------------------------------------------------------------------- drwx-wx-wx chmod 733 diretorio O dono pode ler ou escrever no diretorio. Todos os outros usu- arios podem apenas escrever. ===================================================================== Epilogo ------- Este texto foi adaptado em julho/1996 por Lenimar N. Andrade (endereco eletronico: lenimar@mat.ufpb.br) de uma apostila intitulada "Curso de Introducao ao Unix". Esta apostila foi elaborada em 1993 pela Coordenacao de Informatica da Faculdade de Engenharia Mecanica da UNICAMP. Alem da apostila da F.E.M., foram acrescentados alguns fragmentos de informacoes obtidas com os comandos "man ls" e "man chmod".