Linux

Permissões em Linux: não use 777! Saiba porquê…

12 Comentários

As distribuições Linux garantem a máxima segurança da informação! No entanto, é necessário que o utilizador domine alguns conceitos fundamentais para garantir essa segurança. Sabe definir corretamente permissões?

Permissões em Linux: não use 777! Saiba porquê...


No sistema de ficheiros utilizados no SO Linux existem atributos específicos para cada ficheiro/diretoria. Esses atributos, também conhecidos por “permissões, possibilitam ao SO controlar o acesso dos diferentes utilizadores aos ficheiros/diretorias.

Desta forma evita-se que um utilizador possa aceder a conteúdos aos quais não tem privilégios, por serem ficheiros de sistema ou ficheiros de um outro utilizador.

Permissões no Linux: User, Group e Other

As permissões em ficheiros e diretórios estão divididos em 3 patamares:

Para visualizarmos as permissões podemos utilizar o seguinte comando ls -l (ls — comando para listar diretórios e ficheiros e a opção “l” é para podermos visualizar detalhes).

Permissões em Linux: não use 777! Saiba porquê...

No exemplo, da imagem anterior, temos definidas as seguintes permissões:

  • ppinto.dat: permissões totais. Ou seja, leitura, escrita e execução para o dono, grupo e outros (777)
  • pplware.txt: Leitura e escrita para o dono, leitura para o grupo e leitura para os outros (644)
  • psimoes.doc: Leitura e escrita para o dono e leitura para o grupo (640)

Para alterar/atribuir permissões a um determinado ficheiro /diretório utilizamos o comando chmod ficheiro/Diretório. A atribuição de permissões pode ser realizada através do modo de máscara binária (também definido de modo octal) ou então através de um modo amigável (com letras).

Permissões: Modo máscara binária ou modo octal

A máscara binária é composta por três algarismos arábicos sob a base 8 ou seja de 0 a 7 (daí o nome de modo octal) onde:

  • O primeiro dígito representa o dono do ficheiro/diretório (u)
  • O segundo dígito representa o grupo (g)
  • O terceiro dígito representa os outros (o)

As permissões são especificadas para cada grupo. Os “pesos” atribuídos são:
Permissões em Linux: não use 777! Saiba porquê...

Ora somando os “pesos” temos: para o dono temos 4+2+1=7, relativamente ao grupo temos apenas 4 e o mesmo acontece para os outros. Então, a permissão a atribuir seria 744. Percebido? Numa primeira fase parece confuso, mas depois torna-se bastante simples de configurar.

Exemplos com o modo máscara binária

  • chmod 600 pplware> permissões ‘rw‐‐‐‐‐‐‐’
  • chmod 755 pplware> permissões ‘rwxr‐xr‐x’
  • chmod 777 pplware> permissões ‘rwxrwxrwx’

Modo: “amigável” (com letras)

Para a definição de permissões através do modo “amigável” é necessário recorrer a letras e mais alguns símbolos. Além do que já aprendemos, destaque para os operadores que nos permitem definir uma permissão (‘+’) ou remover uma permissão (‘-).

Exemplo do modo amigável.

Criem o ficheiro pplware através do comando touch, e depois experimentam mudar-lhe as permissões. Para ver as permissões do ficheiro podem usar o comando ls -l pplware

  • chmod u+rw pplware — define permissões ‘r/w’(leitura e escrita) ao dono do ficheiro
  • chmod o‐rwx pplware — retira todas as permissões aos “outros”
  • chmod a+rw pplware — dá permissões ‘r/w’ a todos (ugo)
  • chmod go‐r pplware — retira a permissão ‘r’(leitura) ao grupo e outros

Resumindo, no modo amigável usamos letras e na máscara binária usamos um conjunto de três dígitos. Como dica final deixo-vos o comando. Experimentem usar da seguinte forma: stat pplware e depois analisam a informação presente no campo Access.

Permissões em Linux: não use 777! Saiba porquê...

Como viram definir permissões em Linux não é assim muito difícil. Quem pretender pode também sempre recorrer à interface gráfica.

Esperamos que este tutorial vos seja útil e que pensem duas vezes quando pretenderem definir uma permissão 777.

Autor: Pedro Pinto
Partilhar:
Também pode gostar

Comentários

12

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de maxapadajáá
    maxapadajáá

    o 777 pode muito bem ser usado na tua rede local se não estiveres numa empresa até é muito mais prático. Aqui na minha casa ninguém vem cá mexer. Agora numa empresa meter 777 ou mesmo o 755 é abusar da sorte. Aí o 733 ou 622 serão o ideal dependendo do nível da empresa e confiança que se tem nos empregados e não só.

    A não ser que a gestão seja feita por uma empresa externa e aí o utilizador “owner” nunca terá permissões de execução (aka root) e aí o 622 será o ideal.

    600 não tem lógica nenhuma.

    1. Avatar de Zé Fonseca A.
      Zé Fonseca A.

      Na empresa temos de tudo, com PAM em cima lógico

      1. Avatar de maxapadajáá
        maxapadajáá

        Só o trabalho, isso implica ter alguém constantemente a autenticar utilizadores, ou seja, quando a administração é feita a nível interno que só vale a pena em empresas grandes que necessitem de um departamento de informática interno e que tenham mais funções do que autenticar utilizadores LOL

    2. Avatar de Cláudio
      Cláudio

      622? Write para terceiros?!

      1. Avatar de maxapadajáá
        maxapadajáá

        644, não dá para editar aqui no sapo lol

        Também meti 733 e ninguém disse nada LOL era 744 😐

  2. Avatar de João Silva
    João Silva

    Podiam referir o comando “umask” que permite definir por defeito que acessos são dados para uma novo ficheiro.

  3. Avatar de Pedro António
    Pedro António

    O Linux é complicado e limita o acesso do utilizador, não admira que com este cinto de castidade manter-se seguramente virgem!

  4. Avatar de Tozzini
    Tozzini

    Boa publicação Pplware. Numa altura em que o “amigo americano” quer deixar de o ser, nunca se sabe se o Linux, ou algum outro sistema criado com base nele será o futuro dos SO ir estas bandas

  5. Avatar de maxapadajáá
    maxapadajáá

    Mas isto das permissões é 20% daquilo que se pode fazer em permissões de pastas. Pode-se adicionar utilizadores a grupos com mais permissões e nessas pastas dos grupos esses utilizadores têm certas permissões e fora dessas pastas deixam de ter.

    E ainda há mais coisas interessantes que se podem fazer como o ssh em que podemos fazer updates remotamente sem que os utilizadores saibam ou notem.

  6. Avatar de Eduardo
    Eduardo

    Com este artigo acho que quem não sabe ficou sem saber, porque ao contrario do que o titulo dá a entender, nunca é explicado porque é que não se deve usar 777. Por isso vou tentar explicar porque acho que sei o que o artigo quer dizer: (aqui estou a falar das permisões de utilizadores do sistema operativo e não apenas de permisões para ficheiros especificos) em qualquer sistema um utilizador comum, nem sequer o administrador, devem ter acesso total a todos os ficheiros. Isto evita que pessoal mal intencionado possa logar com a conta de um utilizador especifico e fazer as alterações/instalar o que quiser, o que é uma via verde para dados serem roubados ou o sistema comprometido. Isto é verdade também para a instalação de aplicações, se um utilizador com todas as permissões de sistema instalar malware, como por exemplo ramsomware, o programa mal intencionado terá sucesso visto que o utilizador tem todas as permissões de acesso a ficheiros e o malware foi instalado em seu nome.
    Isto explica porque é que em Linux é necessário usar o comando sudo (super user do) quando se quer fazer alterações importantes ou instalar software, porque os utilizadores comuns não são administradores (mais uma vez: nunca devem ser), o que proteje o sistema porque garante que quem está a tentar fazer alterações sabe a password necessária e é alguém de confiança.
    Isto normalmente funciona ao nível de permissões de utilizador mas o artigo é sobre ficheiros especificos, neste caso é sobre das permissões de leitura, escrita e execução a um unico ficheiro e aqui o problema repete-se, se qualquer utiizador pode alterar um ficheiro então podem transforma-lo em malware e executar o dito. E isto é a razão pela qual nunca se deve usar 777.
    Peço desculpa pela grande confusão mas acho que dá para perceber a minha ideia

    1. Avatar de Pedro Pinto

      com 777 é permissões para tudo e todos 😀