Feed Me

Assine a newsletter:


Add to Technorati Favorites
  • Pingar o BlogBlogs Adicionar aos Favoritos BlogBlogs

    Publicidade


    BuscaPé, líder em comparação de preços na América Latina


    BlogUpp

  • 31
    Jul

    Como funcionam as permissões??

    Postado por krixapolinario às 13:03

    Olá,

    Já aconteceu de você querer acessar um arquivo e não conseguir por não ter acesso? E para piorar a situação você não sabe como mudar essa permissão! Pois é isso um dia já aconteceu comigo, e com certeza com todo mundo quando estava começando, então para ajudar aqueles que estão passando ou que ainda virão a passar estou escrevendo esse post. Sei que seriam mais prático pegar um post ou tutorial prontinho e indicar aqui mas eu estava com vontade de escrever, rsrs. E também por que vez por outra alguém me pergunta sobre o assunto e assim já posso indicar.

    As permissões no linux parecem complicadas mas até que não são, depois de um certo tempo usando, assim como todas as outras coisas, você pega o jeito. Mas para que servem essas permissões??  Para proteger o sistema dos usuários, para que eles de repente não apaguem, escrevam ou coisas assim em arquivos que possam a vir a causar danos, algumas vezes irreparáveis ao sistema.

    As permissões existentes são:

    r - read: permissão de leitura, representada pelo valor 4 (mais a frente explico melhor sobre esse valor);
    w - write: permissão de escrita, representada pelo valor 2;
    x - execution: permissão de execução, representada pelo valor 1.

    Mas dando nome aos burros, como diria a minha mãe, essas permissões podem ser vistas executado ls -l. Por exemplo:

    [krix@rogue]$ ls -l ~krix/
    total 72
    drwxr-xr-x  3 krix krix 4096 2008-07-04 11:03 Desktop
    drwxr-xr-x  3 krix
    krix 4096 2008-04-11 14:54 Documents
    lrwxrwxrwx  1 krix
    krix 26 2008-04-03 15:03 Examples -> /usr/share/example-content
    drwxr-xr-x  2 krix
    krix 4096 2008-04-03 15:12 Music
    drwxr-xr-x  2 krix
    krix 4096 2008-05-30 14:57 Pictures
    drwxr-xr-x  2 krix
    krix 4096 2008-04-03 15:12 Public
    drwxr-xr-x  2 krix
    krix 4096 2008-04-03 15:12 Templates
    drwxr-xr-x  2 krix
    krix 4096 2008-04-03 15:12 Videos

    Agora vamos entender o drwxr-xr-x, vamos primeiro por casas, que são um total de 10, onde, da esqueda para a direita a primeira indica o tipo, por exemplo:

    - = Indica que é um arquivo convencional;
    l  = Indica que é um link simbólico;
    d = Indica que é um diretório;

    As três casas seguinte (2, 3 e 4) indicam as pemissões do usuario (dono). As próximas três (5, 6 e 7) indicam as permissões do grupo, e as três ultimas (8, 9 e 10) indicam as pemissões dos outros.

    As permissões podem ser alteradas pelo comando chmod, sua sintaxe é a seguinte:

    [krix@rogue]$chmod [opção] [modo_permissão] [arquivo_diretorio]

    Exemplo:

    [krix@rogue]$ chmod -R 644 ~krix/Documents

    Onde:

    -R = É uma opção do chmod executando o comando de forma recursiva;
    644 = O cada letra representa um trio das casas que comentei anteriormente, ou seja, o 6 representa a soma de 4 + 2, que são as permissões de leitura e escrita, respectivamente, para o dono. O primeiro 4 é a permissão de leitura para o grupo e o segundo 4 é a permissão de leitura para os outros.

    Acho que uma tabela pode ajudar:

    0 = Permissão a nada;
    1 = Permissão de execução;
    2 = Permissão de escrita;
    3 = Permissão de escrita e execução;
    4 = Permissão de leitura;
    5 = Permissão de leitura e execução;
    6 = Permissão de leitura e escrita;
    7 = Permissão de leitura, escrita e execução.

    Contudo existe outro modo para ser dada uma permissão que é usando as próprias letras e sinais de soma e subtração, assim:

    [krix@rogue]$ chmod -R -x ~krix/Documents

    Assim retiramos a permissão de execução para o dono, grupo e outros, pelo fato de não especificar, somente colocando o ‘-x’. No caso a permissão ficou a mesma que usando o 644 porque mais acima quando mostrei as permissões em meu HOME esse diretório estava com a permissão rwx-r-xr-x, certo?!

    Mas se eu quizer ser especifica posso fazer da seguinte forma (lembrando que a permissão agora é rw–r–r–):

    [krix@rogue]$ chmod -R u+x, o-r ~krix/Documents

    Agora a permissão está deste modo rwxr—–. A permissão de execução foi dada ao dono e retirada a permissão de leitura para outros e mantida a permissão do grupo que era de somente leitura.

    Além disso ainda existe outro ponto importante para abordar que são os donos e grupos de arquivos e diretórios assim como as permissões de leitura, escrita e exeução são dadas a donos, grupos e outros e podem ser alteradas, o dono e grupo também podem por meio do comando chown, quem tem a seguinte sintaxe:

    [krix@rogue]$chown [opção] [modo_permissão] [arquivo_diretorio]

    Um exemplo seria melhor neh?!

    1 - [krix@rogue]$ chown teste ~krix/Pictures

    2 - [krix@rogue]$ chown teste:users ~krix/Pictures

    No exemplo 1 somente o dono do diretório foi mudado, já no 2 dono e grupo foram mudados (na verdade somente o grupo mas eu queria mostrar que pode ser mudado os dos ao mesmo tempo).

    Mas se eu quizer mudar somente o grupo??? Pode ser usado o comando chgrp que somente altera o grupo e sua sintaxe é a mesma do chown. Exemplo:

    2 - [krix@rogue]$ chgrp users ~krix/Templates

    A opção recursiva (-R) pode ser usada tanto no chown quanto no chgrp.

    Espero que esse post ajude aqueles que tem dúvidas sobre o assunto, não sei se falei muito mas, procurei explicar ao máximo.

    Existe um tutorial escrito por Meleu que é muito bom e com certeza vale a pena ser lido.

    http://www.linuxsecurity.com.br/info/unix/permissoes.txt

    :wq!