Se você gerenciou o Windows por algum tempo, provavelmente tem experiência com gerenciamento de contas de usuário, o sistema de arquivos NTFS e configuração de permissões. Se for o caso, prepare-se para um mundo diferente com permissões de arquivo do Linux! No Linux, o sistema de arquivos é um animal diferente que você deve aprender a ser um administrador Linux competente.
Esta é a Parte II de nossa série de quatro partes sobre aprendizado de Linux do ponto de vista de um administrador do Windows! Certifique-se de ler a Parte I se ainda não o fez.
Trabalhando com o Sistema de Arquivos
Vamos primeiro entender como o Linux armazena e gerencia arquivos por meio do sistema de arquivos.
Nota: Todos os exemplos serão usando o OpenSUSE Linux.
Sem Mais Letras de Unidade
Ao contrário do Windows, unidades removíveis e outros dispositivos não recebem automaticamente uma letra de unidade e não são abertos na reinicialização. No Windows, cada unidade é montada como uma letra de unidade: C:\, D:\, etc. Como funcionam as letras de unidade no Linux? Elas não existem!
No Linux, há uma pasta chamada pasta raiz. Esta pasta está localizada na raiz do sistema de arquivos ou simplesmente /
. A barra inclinada para a frente é a primeira barra inclinada antes de todos os outros arquivos no sistema. Esta barra inclinada é como a base C:\, embora apenas se as outras letras de unidade apenas existissem como uma subpasta de C:\.
A pasta raiz é onde estão localizados os arquivos principais do sistema. Todo o resto, incluindo outros dispositivos, são subpastas desta pasta central.
O Linux borra a linha entre pastas e sistemas de arquivos. O diretório Linux /home é a raiz de todos os “perfis” de usuários, semelhante à pasta C:\Users no Windows. Neste caso, /home é um diretório. No entanto, “diretórios” no Linux não precisam ser necessariamente diretórios. Eles também podem ser partições de armazenamento ou até mesmo um disco rígido separado inteiramente. Esse conceito é análogo aos pontos de montagem do Windows.
Você pode aprender mais sobre pastas raiz neste artigo.
Usuários e Pastas Pessoais
Se você está usando o OpenSUSE, pode notar uma pasta Home na sua área de trabalho, conforme mostrado abaixo. Essa pasta é a versão do Linux da pasta C:\users\<username> ou “perfil”. A pasta “usuários” do Linux fica embaixo de /home no seu disco de instalação por padrão.
No exemplo abaixo, o usuário se chama homelab com um “perfil” localizado em /home/homelab.

No Linux (e no Windows), a pasta pessoal (ou perfil de usuário no Windows) tem uma notação abreviada de til (~). Se você ver algo como
"~/Documents/blah.txt
, está realmente se referindo ao seu arquivo/home/<username>/Documents/blah.txt
.
A Capitalização é Tudo no Linux
Tudo no Linux é sensível a maiúsculas e minúsculas. Este conceito é completamente oposto ao do Windows, onde quase nada é sensível a maiúsculas e minúsculas.
Por exemplo, se você tiver um diretório chamado /home/homelab, um diretório completamente diferente pode ser chamado /home/Homelab. Esse conceito também se estende aos comandos. Executar cd /home/homelab
é diferente de CD /home/homelab
(o que deveria falhar).
Como uma pessoa acostumada ao Windows, este conceito vai te pegar em algum momento. Tenha muito cuidado com a capitalização! Você pode ver um exemplo de duas pastas separadas abaixo. A única diferença entre as duas é a capitalização: Em um ambiente do Windows, isso não é possível.

Contas de Usuário
Assim como o Windows, o Linux tem o conceito de contas de usuário, mas elas se comportam um pouco diferente. Comece pensando nas contas de usuário do Linux em termos das suas conhecidas contas de usuário do Windows.
O Windows tem algumas contas de usuário integradas, como Administrador, a conta oculta SYSTEM, Convidado, etc. O Windows também possui vários grupos de segurança integrados, como Administradores, Convidados, etc.
Você pode ver todos os usuários e grupos do Windows através do MMC de Usuários e Grupos Locais executando o snap-inlusrmgr.msc.

SIDs do Windows
Para identificar de forma única usuários e grupos, o Windows se refere a eles por algo chamado SID. No Windows, você pode encontrar o SID de cada usuário e grupo executando alguns comandos do PowerShell abaixo.

Cada SID de grupo do Windows é o mesmo em todos os computadores com Windows. Os usuários SID
s embutidos no Windows são únicos. O SID do Administrador que você vê na captura de tela acima deve ser diferente em cada computador com Windows. Qualquer futuro usuário ou grupo criado no Windows será único. Observe abaixo o grupo de teste. Se você criar um grupo de teste no seu computador com Windows, o SID será diferente.

IDs de Usuário do Linux
Por outro lado, o Linux lida com usuários e grupos de forma semelhante, mas desta vez o Linux não usa SIDs, e sim IDs de usuário (UIDs) e IDs de grupo (GIDs). Além disso, ao contrário do Windows, usuários e grupos são exclusivos do computador, mas não exclusivos em todos os computadores. Isso significa que seu UID no Computador A pode ser exatamente o mesmo UID no Computador B, mesmo que não seja o mesmo usuário.
Ambos os UIDs e GIDs seguem uma convenção simples, numérica; cada UID e GUID começa em 0 e incrementa em um intervalo de 1-999 para contas de sistema internas e 1000+ para contas de usuário personalizadas.
O usuário root embutido sempre tem um UID de 0 e um GID de 0. Além disso, assim como a conta oculta SYSTEM do Windows, esta conta root é geralmente (dependendo da distribuição Linux) impedida de fazer login.
O usuário root embutido é semelhante às contas embutidas SYSTEM e Administrador do Windows, meio que combinadas em uma só. Mesmo que você esteja trabalhando como Administrador no Windows, ainda existem algumas proteções embutidas para evitar que você destrua completamente o Windows.
O utilizador root, por outro lado, é uma autoridade absoluta. Se intencionalmente entrar no utilizador root (pode fazer isso na linha de comando usando o comando
sudo su
) e tentar apagar todo o seu sistema operativo, o root fará isso alegremente até que o sistema morra.
Vamos dizer que criou um utilizador chamado homelab. O UID para homelab pode então ser referenciado quer por 1000 ou por homelab. O utilizador tornar-se-á automaticamente membro do grupo interno users, que pode ser referenciado com o ID do grupo 100. Pode encontrar uma lista dessas correspondências executando o comando getent passwd
, como mostrado abaixo:

getent passwd
inside the terminalTambém pode encontrar a mesma informação acima para grupos com o comando getent group
.

getent group
inside the terminalPermissões de Ficheiros no Linux
Num mundo Windows, as permissões do sistema de ficheiros não são divertidas. Definir e gerir permissões no NTFS pode por vezes tornar-se num pesadelo com ACE, ACLs, herança, propagação, etc. Felizmente, no sistema de ficheiros Linux, as permissões são muito mais simples.
No Linux, tem três tipos de direitos que pode atribuir a um ficheiro: ler, escrever e executar, com três categorias de acesso: proprietário, grupo, outros.
- Proprietário é o utilizador que é dono do ficheiro/pasta. Cada ficheiro ou pasta tem um proprietário designado.
- Grupo é o grupo que é dono do ficheiro/pasta. Este não precisa de ser o mesmo grupo a que o proprietário pertence. Cada ficheiro ou pasta só pode pertencer a um grupo.
- Outros são… bem… outros. São pessoas que não fazem parte do grupo proprietário ou não são o proprietário designado.
Você pode permitir ou negar todas as opções para cada categoria. Como exemplo: você pode fornecer opções de leitura, escrita e execução para o proprietário, e opções de leitura/execução para o grupo e outros. Você pode ver isso na captura de tela abaixo. Isso significa que qualquer pessoa além do usuário que é o proprietário da pasta não pode modificá-la.
Assim como o explorador de arquivos do Windows, no Ubuntu, você pode ver essas informações seguindo os passos abaixo:
- Abra a pasta “Home” na sua área de trabalho.
- Navegue até o arquivo/pasta em questão.
- Clique com o botão direito no arquivo/pasta e clique em Propriedades.
- Clique na guia Permissões.
- Clique em Permissões Avançadas.
Uma vez na caixa de Permissões Avançadas, você pode ver graficamente todas as permissões atribuídas a esse arquivo ou pasta.

Abaixo está o que a tabela de Permissões Avançadas representa.

Propriedade do Arquivo
Assim como o Windows, cada arquivo e pasta possui um proprietário. No Windows, você pode tomar posse de um arquivo na interface gráfica ou através do comando takeown. No Linux, você toma posse executando o comando chown <usuário>:<grupo> <arquivo/pasta>
na linha de comando.
Assim como no Windows, geralmente é necessário ter permissão de administrador para alterar a propriedade de arquivos usando o sudo. O sudo é o equivalente no Linux ao Controle de Conta de Usuário (UAC) do Windows. Em vez de abrir uma janela de comando administrativa, você adiciona o prefixo sudo aos comandos para executá-los como administrador.
Vamos criar uma pasta que é apenas de propriedade do root para demonstrar alguns desses conceitos.
- Abra sua pasta pessoal e vá para Documentos
- Abra um prompt de comando clicando com o botão direito —> Ações —> Abrir Terminal Aqui e execute o seguinte:

Esta pasta possui permissões de leitura/escrita/execução apenas para o proprietário. Como você criou a pasta com direitos de administrador, o proprietário atual é o root.
Você também alterou as permissões para que apenas o proprietário tenha acesso. O grupo proprietário e outros usuários não podem acessar esta pasta de forma alguma. Na verdade, você notará que a pasta tem um cadeado grande, indicando que você não tem acesso.
Abaixo, você pode ver como assumir a propriedade desta pasta.
- Abra outro terminal na mesma pasta (ou use o que você já tinha)
- Execute
sudo chown homelab:users ./owned-by-root

Agora que você é o proprietário, também pode alterar as permissões do arquivo dentro da GUI do explorador usando a janela de propriedades.

Você (geralmente) só deseja alterar a propriedade, não as permissões do arquivo. O Linux é bastante eficiente em saber quais permissões as coisas devem ter por padrão. Você pode realmente causar problemas ao usar ‘chmod’ sem conhecer as implicações.
Notação Numérica para Permissões de Arquivos
Se você já fez qualquer solução de problemas no Linux, pode ter visto pessoas explicando as permissões de arquivos usando um esquema numérico. Você pode ver isso destacado na captura de tela abaixo:

Linux usa uma notação abreviada para este sistema de acesso usando números, como 0600. O primeiro número é para algumas propriedades especiais que você pode adicionar, que as pessoas geralmente ignoram. Na verdade, a maioria das pessoas só usa três dígitos para a notação e ignora o quarto líder.
Para obter mais informações sobre a notação numérica para permissões de arquivo, confira este artigo.
Conclusão
Isso é tudo para a Parte II da nossa série de postagens no blog A Windows Guy in a Linux World! Não deixe de manter o ímpeto com Parte III!
Source:
https://adamtheautomator.com/linux-file-permissions/