Alterando as permissões de um arquivo

O comando "chown" (change ownership) altera as permissões em um arquivo, se você não sabe, no GNU/Linux cada arquivo leva em si uma definição mostrando quem pode usá-lo ou não, isto evita que usuários mal intencionados façam uso de arquivos ou diretórios que a eles não foi dada a permissão.

[ Hits: 67.616 ]

Por: Roberson Carlos em 01/05/2005 | Blog: http://carlrobers.wordpress.com


Introdução



O comando chown (change ownership) altera as permissões em um arquivo, se você não sabe, no GNU/Linux cada arquivo leva em si uma definição mostrando quem pode usá-lo ou não, isto evita que usuários mal intencionados façam uso de arquivos ou diretórios que a eles não foi dada a permissão, assim, caso um usuário chamado "robersonfox" escreva um arquivo e suas permissões sejam somente leitura, os únicos usuários que poderão escrever neste arquivo são somente o "root" e o próprio dono do arquivo.

Para alterar as permissões de um arquivo você precisará ser root ou o criador do arquivo, você pode alterar o grupo dos usuários (exemplo: user, bin, root) ou somente o usuário, caso você altere o grupo, todos os usuários que participam daquele grupo poderão ter acesso as permissões definidas por você, lembre-se que grupos participam de outros grupos também.

As definições para os parâmetros são:
  • (r) Somente leitura
  • (w) Escrita
  • (x) Executar (Caso o arquivo seja um script ou um executável)

Você pode definir estes valores como sendo números também, assim ele assumirá os modos como o modo 600 ou o modo 777, veja uma descrição melhor abaixo.

Para você saber quais as permissões que foram definidas, vá para seu diretório "home" e passe o comando "ls -l", este comando lista arquivos em um diretório, porém o parâmetro -l informa que ele deve mostrar as informações de permissões de arquivos.

Saída do comando ls -l:

-rw-r--r--  1 robersonfox robersonfox     1485 2004-04-06 19:17 script.html

Note que a primeira coluna deste comando mostra as permissões definidas para os arquivos, os arquivos serão colocados um abaixo do outro, então se houver mais de uma linha na saída quer dizer que você tem mais de um arquivo no diretório.

Veja abaixo o significado para alguns dos principais conjuntos de caracteres que podem ser mostrados na primeira coluna da saída do comando ls -l.
  • -rwxrwxrwx, este conjunto permite usuários lerem, escreverem e executarem arquivos, seus grupos e qualquer um outro pode realizar esta operação, ou seja, se este arquivo estiver dentro de um web site, o mundo todo pode ler, escrever, ou mesmo executá-lo, o modo deste arquivo é 777.
  • drwxr-xr--, já este conjunto permite que o criador do diretório possa manipulá-lo da forma que quiser, entretanto os outros poderão somente ler seu conteúdo ou pesquisar se fizerem parte do grupo definido. Já outros usuários poderão somente ler o conteúdo do arquivo, isto se eles não fazem parte do grupo de permissões do arquivo ou não são o usuário raiz (root) ou o criador do arquivo.
  • crw-r-r---, este determina um arquivo de caracteres especiais, como alguns arquivos dentro do diretório "/dev/", este conjunto de caracteres diz que o dono do arquivo pode ler ou escrever no arquivo, porém os outros usuários, incluindo o grupo, somente poderão ler. Ele sustenta o modo 644.
  • brw-------, este determina uma classe de blocos que somente o dono pode ler ou gravar, caso você tente ler um arquivo desta classe receberá um aviso dizendo que você não tem permissão para ler ou mesmo gravar, a não ser que você seja o dono do arquivo, esta classe sustenta o modo 600.

Nas permissões descritas acima ou mesmo quando você passar o comando "ls -l", verá que alguns dos valores definidos na coluna 1 da saída do comando começam com o caractere "-" (Hífen), isto mostra que estamos tratando de um arquivo, diretórios sempre irão iniciar com o caractere alfa "d", ou se estivermos tratando de um bloco seu primeiro caractere será b, o total de caracteres sempre será dez.

Veja uma sintaxe destes conjuntos de caracteres:
  • -rwxrwxrwx, o primeiro caractere define que estamos tratando de um arquivo, note a seqüência dos nove outros caracteres que se repete um conjunto (rwx) que dizem que o arquivo pode ser lido (r), escrito (w) ou executado (x).

Note também que na saída do comando "ls -l" as colunas três e quatro definem respectivamente o usuário e o grupo do arquivo, somente aquele que participa destes poderão ler ou executar ou mesmo gravar no arquivo, isto claro se as definições dos modos forem definidas de tal forma a proibir que usuários terceiros façam parte do grupo de leitura, escrita ou execução dos mesmo.

Todo arquivo criado por você terá seu nome de login como proprietário e grupo.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Usando o chown
Outros artigos deste autor

Configurando o Samba

Amarok: migrando de SQLite para MySQL

Rodando jogos a partir de uma imagem ISO

Gerando arquivos JAR com o Eclipse

Gravação de CDs com o K3B

Leitura recomendada

Slamd64: O Slackware para 64 bits

Kernel 2.6 hacks

Conheçam a linguagem D (saiu do forno)!

Ativando zRAM no Slackware

Aplicando patches no kernel

  
Comentários
[1] Comentário enviado por Farley em 01/05/2005 - 16:37h

robersonfox, gostei muito da matéria que escreveu. estive procurando (e ainda estou) material suficiente pra eu poder migrar para o linux, uma vez que os softwares que uso no windows ainda me proibem. Sei ainda, que há como ajeitar isso, mas com o conhecimento que possuo, ainda fica difícil !! Parabéns pela matéria que já anotei!

[2] Comentário enviado por randra em 02/05/2005 - 09:17h

mto útil o artigo... mta gente procura saber sobre permissoes ... acho que ajudou a todos =] parabens

[3] Comentário enviado por agk em 03/05/2005 - 16:57h

Parabéns, excelene artigo pra o pessoal que está iniciando no mundo Linux, é indispensável saber esses passos básicos para poder entender melhor como funciona o sistema.

[4] Comentário enviado por diego_maia em 12/12/2005 - 09:32h

Blz esse artigo cara!!!
Valeu!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts