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.