Revista Do Linux
 
EDIÇÃO DO MÊS
 CD do Mês

 Capa
 Estudo de Caso
 Produto
 Tutorial
 Iniciantes
 Segurança
 Hardware
 Desenvolvimento
 Entrevista
 Corporativo
 Especial
 Distro
 Comunidade
 
 
 
iniciantes
 
 
Combinações diferentes podem ser usadas para deixar seus dados armazenados de forma segura no Linux
 
<IMG> Por ser um sistema operacional multiusuário e multitarefa, o Linux possui sistemas de controle que asseguram a integridade dos dados e do sistema. Um destes sistemas é a permissão de diretórios e arquivos. Veremos neste artigo uma breve introdução sobre estas permissões.
<IMG> Cada arquivo ou diretório possui basicamente três conjuntos de permissões de acesso: permissão para leitura (representado pela letra r - read), para escrita (representado pela letra w - write) e para execução (representado pela letra x - execute). O comando ls -l mostra estas permissões:
drwxr-x— 10 usuario users 4096 May 21 04:10 pasta
-rw-rw-r— 1 usuario users 948 Jun 5 16:43 texto.txt
 
<IMG> A primeira coluna mostra as permissões do arquivo. A primeira letra representa o tipo de arquivo (d=diretório, l=link simbólico, etc) e as letras seguintes são as permissões. As três primeiras letras representam as permissões do dono do arquivo, as próximas três representam o grupo do arquivo e as três últimas representam as permissões para os outros usuários do sistema. Veja que o dono do di-re-tório pasta pode ler, escrever, editar e ‘executar’ o dire-tório (o x, neste caso, significa permissão de mudar para o diretório com o comando cd); usuários pertencentes ao grupo users podem ler e acessar o diretório, e os outros usuários do sistema não têm permissão nenhuma para o diretório, ou seja, não podem ler, escrever ou aces-sar o diretório pasta. Já o arquivo texto.txt pode ser lido e editado pelo dono e pelo grupo. Outros usuários (não pertencentes ao grupo e que não sejam o dono) podem apenas ler o arquivo.
<IMG> Cada permissão tem um valor numérico correspondente:
r = 4
w = 2
x = 1
 
<IMG> Somando os números, obtemos:
Permissão Valor Significado
--- 0 Sem permissões
r-- 4 Apenas leitura
rw- 6 Ler e gravar
rwx 7 Ler, gravar e executar
r-x 5 Ler e executar
--x 1 Somente executar
 
Desta forma, a permissão do arquivo será composta por três números.
Veja as combinações mais utilizadas:
 
Permissão Valor Significado
-rw------- 600 Somente o dono possui permissão
para ler e escrever no arquivo.
-rw-r--r-- 644 O dono possui permissão para
ler e escrever; o grupo e
outros podem apenas ler o arquivo.
-rw-rw-rw- 666 Todos podem ler e escrever no arquivo.
-rxw------ 700 Somente o dono possui permissão para ler,
escrever e executar o arquivo.
-rwxr-xr-x 755 O dono possui permissão para
ler, escrever e executar o arquivo;
o grupo e outros podem ler e executar o arquivo.
-rwxrwxrwx 777 Todos podem ler, escrever e executar o arquivo.
-rwx--x--x 711 O dono possui permissão para ler, escrever
e executar o arquivo; o grupo e outros podem
apenas executar o arquivo.
drwx------ 700 Somente o dono possui permissão para ler,
escrever e acessar o diretório.
drwxr-xr-x 755 O dono pode ler, escrever e acessar o diretório; o
grupo e outros podem ler e acessar o diretório.
drwx--x--x 711 O dono pode ler, escrever e acessar o diretório;
o grupo e outros podem apenas acessar o diretório,
mas não podem listá-lo com o comando ls.
 
<IMG> O comando para alterar as permissões de arquivos e diretórios é o
chmod. Sua sintaxe é:
 
chmod --opções XXX arquivo
 
onde XXX são as permissões desejadas para o arquivo, seguindo o formato numérico.
 
Opções para o chmod:
-c ou --changes Descreve todas as alterações
de permissão efetuadas nos arquivos.
-f ou --silent, --quiet Não imprime mensagens de erro.
-v ou --verbose Descreve de modo verboso todas
as alterações de permissão efetuadas no arquivo.
--reference=FILE Utiliza o modo de referência FILE
em vez da combinação de números
-R ou --recursive Altera recursivamente as permissões
de arquivos e diretórios.
--help Mostra o texto de ajuda.
 
Exemplos
<IMG> Para alterar recursivamente as permissões de um diretório, em modo verboso:
$ chmod -R -v 755 /home/usuario/bin/
mode of /home/usuario/bin retained as 0755 (rwxr-xr-x)
mode of /home/usuario/bin/compila-sgml changed to 0755 (rwxr-xr-x)
mode of /home/usuario/bin/burnallgifs retained as 0755 (rwxr-xr-x)
<IMG> Para alterar apenas a permissão de um único arquivo:
$ chmod 640 arquivo.txt
 
<IMG> Para alterar as permissões de todos arquivos .txt do diretório atual:
 
$ chmod 600 *.txt
 
<IMG> Observações: Se o usuário não for o dono do arquivo e não possuir permissão para alterá-lo, o comando não terá qualquer efeito. Links simbólicos não podem ter as permissões alteradas. Ao contrário, o comando chmod vai alterar as permissões do arquivo apontado pelo link. Porém, se o chmod for utilizado recursivamente, nenhum arquivo apontado pelos links simbólicos será alterado. Um programa não é executável, a não ser que seu arquivo tenha permissão para execução, não importando se a extensão do programa é .exe ou não.
 
Para saber mais
man chmod
info chmod
 
Fabio Minami
minami@RevistadoLinux.com.br
 
 

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux