A sintaxe para se alterar as permissões de um arquivo é:
chown [opção] Permissões [:[GRUPO]] Arquivo
chown [opção] GRUPO Arquivo
Ou somente:
chown usuário.grupo arquivo
Exemplo:
$ chown Linus arquivo
O comando acima mudaria as permissões do arquivo para o usuário Linus.
Lembre-se que todos os arquivos, usuários e etc pertencem a algum grupo,
assim como existe o grupo cdwriter que define quem grava ou não um
cd usando o cdrecord ou o bin que define quem tem permissões para
executar os arquivos binários, aquele que não fizer parte de um grupo
não tem permissão para executar os arquivos que são gerenciados por este
grupo, ou seja, se existe um arquivo chamado links.txt criado por
"robersonfox" e que pertence ao grupo "robersonfox", aquele que não for
seu dono ou mesmo não participe do grupo não poderá ter acesso total a
este arquivo, salvo se este arquivo sustentar o modo 777 descrito
acima, que permite leitura, escrita e execução por qualquer usuário no mundo.
Um outro exemplo simples para isto é:
Logue-se como um usuário comum e que não participe do grupo root,
assim que for feito o login, abra um terminal e tente entrar no
diretório do Super Usuário (root) ou passe o comando:
$ ls /root
Assumindo que o diretório pessoal do root esteja em /root, você
receberá uma mensagem dizendo que esta operação não é permitida,
se este mesmo usuário tentar acesso a algum arquivo do qual o
grupo ele não participe ou ele não tenha permissões para que se
leia o arquivo, receberá este o alerta novamente.
Para se alterar somente o grupo de um arquivo passe o comando:
$ chown .robersonfox links.txt
No caso acima o grupo do arquivo links.txt será alterado para
robersonfox, o chown assume as propriedades do comando chgrp.
Lembre-se que o "chown" não altera as permissões de links
simbólicos a não ser em sistemas que permitam a alteração de Symlinks.
As opções para este são:
- -c, --changes
Como o modo verbose, porém somente mostra o resultado quando alguma mudança é feita.
- --dereference
Afeta a referencia de cada link simbólico,
- -h, --no-dereference
Afeta qualquer link simbólico no lugar de qualquer arquivo referenciado (Avaliado somente em sistemas que permitem a alteração da permissão de Symlinks).
- -f, --silent, --quiet
Ignora mensagens de erro, elas não serão exibidas no terminal.
- --reference=RFILE
Usa um arquivo de referência.
- -R, --recursive
Opera de modo repetitivo (Recursivo ou seja, todos os diretórios e subdiretórios de um local antes determinado).
- -v, --verbose
Mostra toda a saída.
- --help
Exibe o arquivo de ajuda.
- --version
Exibe a versão do programa e saí.