Leia, grave e execute!
Neste artigo abordarei as permissões no Linux, ou seja, como atribuir/retirar uma permissão, mudar o dono/grupo de um arquivo. Enfim, entender como este mecanismo funciona.
Parte 5: Atribuição direta
Agora veremos o método por atribuição direta. Então no que consistirá este método? Em simplesmente já dizer diretamente qual será a permissão. Não entendeu?
No método anterior analisamos as permissões que os arquivos já possuíam, e vimos se era preciso tirar alguma ou inserir outra, ou seja, nos analisamos para não ter problemas, ou a permissão não saía do jeito que queríamos.
Vamos a prática que ficará mais claro o que quero dizer. Lembra-se dos arquivos que tínhamos criado? Então, continuaremos a trabalhar com eles. Navegue até a pasta onde havia criado os mesmos:
# cd /home/maran/permissoes
Vamos ver como está:
# ls -l perm*.txt
---------- 1 root root 0 2008-08-16 11:16 permissao1.txt
---------- 1 root root 0 2008-08-16 11:16 permissao2.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao3.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao4.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao5.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao6.txt
Ok, do jeito que tínhamos deixado. A atribuição direta será da seguinte maneira.
Digamos que eu queira deixar o arquivo permissao3.txt com leitura, escrita e execução para o dono, grupo e outros. Fica da seguinte maneira:
# chmod u=rwx,g=rwx,o=rwx
Entenderam do porque se diz atribuição direta? Pois já definimos:
u=valor,g=valor,o=valor
(valores possíveis: (r) leitura ; (w) escrita ; (x) execução; (---) vazia
Ou seja, direto, não importando as permissões que já estavam.
Se eu quisesse apenas leitura:
u=r
Simples de tudo não é, este é meu método favorito. Faremos então alguns testes:
Quero que o arquivo permissao4.txt tenha permissão de execução para o dono, execução e leitura para o grupo e nada para outros.
# chmod u=x,g=rx,o=---
Veja se o mesmo consegue tal permissão:
# ls -l permissao4.txt
--w-r-x--- 1 root root 0 2008-08-16 11:16 permissao4.txt
Perfeito!
Quero deixar todos os arquivos iniciados com permissão para, com poder de leitura, escrita e execução para dono, grupo e outros.
# chmod u=rwx,g=rwx,o=rwx perm*.txt
Resultado:
# ls -l perm*
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao1.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao2.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao3.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao4.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao5.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao6.txt
Bacana, porém agora quero zerar todas as permissões dos arquivos dentro da pasta /home/maran/permissoes:
# chmod -R u=---,g=---,o=--- /home/maran/permissoes/*
O que foi feito?
Eu disse para o chmod usar a recursividade, ou seja, tudo abaixo daquele diretório, isto foi obtido com a chave -R e com o wildcard(coringa) *.
Vamos ver se funcionou:
# ls -l /home/maran/permissoes/*
---------- 1 root root 0 2008-08-16 11:16 permissao1.txt
---------- 1 root root 0 2008-08-16 11:16 permissao2.txt
---------- 1 root root 0 2008-08-16 11:16 permissao3.txt
---------- 1 root root 0 2008-08-16 11:16 permissao4.txt
---------- 1 root root 0 2008-08-16 11:16 permissao5.txt
---------- 1 root root 0 2008-08-16 11:16 permissao6.txt
É isso aí, aprendemos mais um método. ;)
Vamos ao próximo então.
No método anterior analisamos as permissões que os arquivos já possuíam, e vimos se era preciso tirar alguma ou inserir outra, ou seja, nos analisamos para não ter problemas, ou a permissão não saía do jeito que queríamos.
Vamos a prática que ficará mais claro o que quero dizer. Lembra-se dos arquivos que tínhamos criado? Então, continuaremos a trabalhar com eles. Navegue até a pasta onde havia criado os mesmos:
# cd /home/maran/permissoes
Vamos ver como está:
# ls -l perm*.txt
---------- 1 root root 0 2008-08-16 11:16 permissao1.txt
---------- 1 root root 0 2008-08-16 11:16 permissao2.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao3.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao4.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao5.txt
-rw-r--r-- 1 root root 0 2008-08-16 11:16 permissao6.txt
Ok, do jeito que tínhamos deixado. A atribuição direta será da seguinte maneira.
Digamos que eu queira deixar o arquivo permissao3.txt com leitura, escrita e execução para o dono, grupo e outros. Fica da seguinte maneira:
# chmod u=rwx,g=rwx,o=rwx
Entenderam do porque se diz atribuição direta? Pois já definimos:
u=valor,g=valor,o=valor
(valores possíveis: (r) leitura ; (w) escrita ; (x) execução; (---) vazia
Ou seja, direto, não importando as permissões que já estavam.
Se eu quisesse apenas leitura:
u=r
Simples de tudo não é, este é meu método favorito. Faremos então alguns testes:
Quero que o arquivo permissao4.txt tenha permissão de execução para o dono, execução e leitura para o grupo e nada para outros.
# chmod u=x,g=rx,o=---
Veja se o mesmo consegue tal permissão:
# ls -l permissao4.txt
--w-r-x--- 1 root root 0 2008-08-16 11:16 permissao4.txt
Perfeito!
Quero deixar todos os arquivos iniciados com permissão para, com poder de leitura, escrita e execução para dono, grupo e outros.
# chmod u=rwx,g=rwx,o=rwx perm*.txt
Resultado:
# ls -l perm*
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao1.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao2.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao3.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao4.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao5.txt
-rwxrwxrwx 1 root root 0 2008-08-16 11:16 permissao6.txt
Bacana, porém agora quero zerar todas as permissões dos arquivos dentro da pasta /home/maran/permissoes:
# chmod -R u=---,g=---,o=--- /home/maran/permissoes/*
O que foi feito?
Eu disse para o chmod usar a recursividade, ou seja, tudo abaixo daquele diretório, isto foi obtido com a chave -R e com o wildcard(coringa) *.
Vamos ver se funcionou:
# ls -l /home/maran/permissoes/*
---------- 1 root root 0 2008-08-16 11:16 permissao1.txt
---------- 1 root root 0 2008-08-16 11:16 permissao2.txt
---------- 1 root root 0 2008-08-16 11:16 permissao3.txt
---------- 1 root root 0 2008-08-16 11:16 permissao4.txt
---------- 1 root root 0 2008-08-16 11:16 permissao5.txt
---------- 1 root root 0 2008-08-16 11:16 permissao6.txt
É isso aí, aprendemos mais um método. ;)
Vamos ao próximo então.
Abraço.