Categories: Tecnologia

Como funcionam as permissões de arquivo do Linux?

Se você já usa Linux há algum tempo (e até mesmo OS X), provavelmente se deparou com um erro de “permissões”. Mas o que são exatamente e por que são necessários ou úteis? Vamos dar uma olhada por dentro.

Permissões do usuário

Antigamente, os computadores eram máquinas enormes que eram incrivelmente caras. Para tirar o máximo proveito deles, vários terminais de computador foram conectados, o que permitiu que muitos usuários realizassem seus negócios simultaneamente. O processamento e o armazenamento de dados eram feitos na máquina, enquanto os próprios terminais eram pouco mais do que um meio de visualizar e inserir dados. Se você pensar bem, é basicamente como acessamos os dados na “nuvem”; olhe para o sistema de MP3 em nuvem da Amazon, Gmail e Dropbox e você perceberá que, embora as alterações possam ser feitas localmente, tudo é armazenado remotamente.

(Imagem: Terminal “burro” Zenith Z-19; crédito: ajmexico )

Para que isso funcione, os usuários individuais precisam ter contas. Eles precisam ter uma seção da área de armazenamento atribuída a eles e precisam ter permissão para executar comandos e programas. Todos recebem “permissões de usuário” específicas, que ditam o que eles podem e não podem fazer, onde no sistema eles têm e não têm acesso e cujos arquivos eles podem ou não modificar. Cada usuário também é colocado em vários grupos, que concedem ou restringem acesso posterior.

Acesso ao arquivo

Neste mundo multiusuário maluco, já definimos limites quanto ao que os usuários podem fazer. Mas e o que eles acessam? Bem, cada arquivo tem um conjunto de permissões e um proprietário. A designação do proprietário, normalmente associada quando o arquivo é criado, declara a qual usuário ele pertence e somente esse usuário pode alterar suas permissões de acesso.

No mundo do Linux, as permissões são divididas em três categorias: ler, escrever e executar. O acesso de “leitura” permite ver o conteúdo de um arquivo, o acesso de “gravação” permite modificar o conteúdo de um arquivo e “executar” permite executar um conjunto de instruções, como um script ou programa. Cada uma dessas categorias é aplicada a diferentes classes: usuário, grupo e mundo. “Usuário” significa o proprietário, “grupo” significa qualquer usuário que está no mesmo grupo que o proprietário e “mundo” significa qualquer pessoa e todos.

As pastas também podem ser restritas com essas permissões. Você pode, por exemplo, permitir que outras pessoas em seu grupo visualizem diretórios e arquivos em sua pasta pessoal, mas não qualquer pessoa fora de seu grupo. Provavelmente, você desejará limitar o acesso de “gravação” apenas a você, a menos que esteja trabalhando em um projeto compartilhado de algum tipo. Você também pode criar um diretório compartilhado que permite que qualquer pessoa visualize e modifique os arquivos dessa pasta.

Alteração de permissões no Ubuntu

GUI

Para alterar as permissões de um arquivo que você possui no Ubuntu, apenas clique com o botão direito no arquivo e vá em “Propriedades”.

Você pode alterar se o Proprietário, Grupo ou Outros podem ler e escrever, somente leitura ou não fazer nada. Você também pode marcar uma caixa para permitir a execução do arquivo, e isso irá habilitá-lo para o Proprietário, Grupo e Outros simultaneamente.

Linha de comando

Você também pode fazer isso por meio da linha de comando. Vá para um diretório que contenha arquivos e digite o seguinte comando para visualizar todos os arquivos em uma lista:

ls -al

Ao lado de cada arquivo e diretório, você verá uma seção especial que descreve as permissões que possui. Se parece com isso:

-rwxrw-r–

A r significa “ler”, a w significa “escrita”, ea x significa “executar.” Os diretórios começarão com um “d” em vez de um “-“. Você também notará que existem 10 espaços que contêm valor. Você pode ignorar o primeiro e, em seguida, existem 3 conjuntos de 3. O primeiro conjunto é para o proprietário, o segundo conjunto é para o grupo e o último conjunto é para o mundo.

Para alterar as permissões de um arquivo ou diretório, vamos examinar a forma básica do comando chmod.

arquivo chmod [classe] [operador] [permissão]

arquivo chmod [ugoa] [+ ou -] [rwx]

Isso pode parecer complicado no início, mas acredite em mim, é muito fácil. Primeiro, vamos dar uma olhada nas classes:

  • u: Isso é para o proprietário.
  • g: Isso é para o grupo.
  • o: Isso é para todos os outros.
  • a: Isso mudará as permissões para todos os itens acima.

Em seguida, os operadores:

  • +: O sinal de mais adicionará as permissões que se seguem.
  • -: O sinal de menos removerá as permissões que se seguem.

Ainda comigo? E a última seção é a mesma de quando verificamos as permissões de um arquivo:

  • r: Permite acesso de leitura.
  • w: Permite acesso de gravação.
  • x: Permite a execução.

Agora, vamos colocá-lo juntos. Digamos que temos um arquivo chamado “todo.txt” que tem as seguintes permissões:

-rw-rw-r–

Ou seja, o proprietário e o grupo podem ler e escrever, e o mundo apenas ler. Queremos alterar as permissões para:

-rwxr—–

Ou seja, o proprietário tem permissões totais e o grupo pode ler. Podemos fazer isso em 3 etapas. Primeiro, adicionaremos a permissão de execução para o usuário.

chmod u + x todo.txt

Em seguida, removeremos a permissão de gravação para o grupo.

chmod gw todo.txt

Por último, removeremos as permissões de leitura de todos os outros usuários.

chmod ou todo.txt

Também podemos combiná-los em um comando, como:

chmod u + x, gw ou todo.txt

Você pode ver que cada seção é separada por vírgulas e não há espaços.

Aqui estão algumas permissões úteis:

  • -rwxr-xr-x: O proprietário tem permissões totais, o grupo e outros usuários podem ler o conteúdo do arquivo e executar.
  • -rwxr – r–: O proprietário tem permissões totais, o grupo e outros usuários podem apenas ler o arquivo (útil se você não se importa que outros vejam seus arquivos.
  • -rwx——: O proprietário tem permissões totais, todos os outros não têm nenhuma (útil para scripts pessoais).
  • -rw-rw—-: O proprietário e o grupo podem ler e escrever (útil para colaboração com membros do grupo).
  • -rw-r – r–: O proprietário pode ler e escrever, o grupo e outros usuários podem apenas ler o arquivo (útil para armazenar arquivos pessoais em uma rede compartilhada).
  • -rw ——-: O proprietário pode ler e escrever, todos os outros não têm nenhum (útil para armazenar arquivos pessoais).

Existem algumas outras coisas que você pode fazer com chmod – como setuid e setgid – mas elas são um pouco profundas e a maioria dos usuários realmente não vai precisar usá-las.

A raiz ou superusuário e arquivos de sistema

Hoje em dia, nem sempre rodamos sistemas com vários usuários. Por que ainda devemos nos preocupar com as permissões?

Bem, o Unix e seus derivados – Linux, OS X, entre outros – também distinguem entre coisas executadas pelo usuário, coisas executadas por um administrador ou com privilégios de administrador, e coisas executadas pelo próprio sistema. Como tal, coisas que são essenciais para o sistema precisam de privilégios de administrador para serem alteradas ou acessadas. Dessa forma, você não bagunça nada acidentalmente.

No Ubuntu, para fazer alterações nos arquivos do sistema, você usa “sudo” ou “gksudo” para obter o equivalente aos privilégios de administrador. Em outras distros, você muda para “root” ou “superusuário”, que efetivamente faz a mesma coisa até que você saia.

Esteja ciente de que em ambas as circunstâncias, alterar as permissões de arquivo pode fazer com que os programas não funcionem, alterando acidentalmente a propriedade do arquivo para o usuário root (em vez do proprietário) e tornando o sistema menos seguro (concedendo mais permissões). Como tal, é recomendado que você não altere as permissões para arquivos – especialmente arquivos de sistema – a menos que seja necessário ou você saiba o que está fazendo.


As permissões de arquivo existem para fornecer um sistema básico de segurança entre os usuários. Aprender como eles funcionam pode ajudá-lo a configurar o compartilhamento básico em um ambiente multiusuário, proteger arquivos “públicos” e dar a você uma pista sobre quando algo está errado com a propriedade de arquivos do sistema.

Acha que pode explicar as coisas mais facilmente? Tem uma correção? Quer relembrar os velhos tempos? Faça uma pausa e escreva os seus pensamentos nos comentários.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago