quinta-feira, 11 de julho de 2013

Mudando as permissões de um arquivo

Continuando o assunto sobre as permissões em arquivos no Linux, agora vamos ver como modificar as permissões de leitura, escrita e execução.

No mundo Linux, há várias formas de se fazer a mesma coisa, e com relação a mudanças em permissões de arquivos isso não podia ser diferente. Primeiramente vamos ver a permissão em um arquivo em particular.

$ ls -l fileone
-rw-r--r-- 1 ricardo root 13 Jul  2 12:57 fileone
$


Vamos supor que o arquivo fileone seja um programa. Precisamos dar permissão para execução (x) para o dono (ricardo). Basta digitar:

$ chmod u+x fileone
$ ls -l fileone
-rwxr--r-- 1 ricardo root 13 Jul  2 12:57 fileone
$

Reparem agora que o dono pode executar o arquivo, mas os demais usuários não. Para tirar a permissão de execução é só usar u-x.

$ chmod u-x fileone
$ ls -l fileone
-rw-r--r-- 1 ricardo root 13 Jul  2 12:57 fileone
$

Se eu quiser que o grupo também tenha direitos de escrita eu posso usar tanto g+w como g=rw.

$ chmod g=rw fileone
$ ls -l fileone
-rw-rw-r-- 1 ricardo root 13 Jul  2 12:57 fileone
$

Se for necessário tirar a permissão de leitura dos demais usuários, basta usar o-r.

$ chmod o-r fileone
$ ls -l fileone
-rw-rw---- 1 ricardo root 13 Jul  2 12:57 fileone
$ su - teste
Senha:
$cat fileone
cat: fileone: Permissão negada
$ exit

logout
$

Reparem como me loguei como usuário teste e este não conseguiu ver o conteúdo do arquivo. Se for necessário adicionar a permissão de execução para todos, inclusive ao grupo e ao dono, você pode usar a+x, ou simplesmente +x.

$ chmod a+x fileone
$ ls -l fileone
-rwxrwx--x 1 ricardo root 13 Jul  2 12:57 fileone
$

Agora, vamos dar permissão de leitura, execução e escrita para o dono, leitura e execução para o grupo, e somente execução para os demais.

$ chmod u=rwx,g=rx,o=x fileone
$ ls -l fileone
-rwxr-x--x 1 ricardo root 13 Jul  2 12:57 fileone
$

Essa é a forma mais fácil de trabalhar com as permissões, mas ainda há uma outra forma, chamada "numérica". Esse assunto fica para a próxima postagem.