Devido à natureza dos sistemas Linux, existem muitas restrições e configurações de autorização para arquivos e diretórios em termos de segurança. O único usuário com todos esses privilégios é o usuário root.
Portanto, ao usar o sistema, se formos usuários root, o aviso diante de nós não será um mecanismo restritivo e, em alguns casos, as alterações que faremos podem causar grandes problemas com o sistema. É por isso que saber sobre as autorizações de usuários do Linux é muito importante para todos os usuários do Linux.
Ações que os usuários podem tomar em relação a arquivos e diretórios
Cada usuário pode agir no âmbito das autorizações que lhe foram concedidas. Existem três ações que os usuários podem realizar em relação a arquivos ou diretórios.
- leia (r): Trata-se de poder visualizar a lista de pastas e o conteúdo dos arquivos.
- escreva (w): Trata-se de fazer alterações no arquivo ou pasta.
- executar (x): Trata-se de executar o arquivo de destino ou poder acessar a pasta.
Se você estiver familiarizado com o
Comando chmod e permissões de arquivo Linux, você já deve ter ouvido falar dessas três permissões antes.Introduzir o ls -l comando para ver quais permissões seu arquivo atual tem.
As partes que vemos como drwxr-xr-x e -r-r--r-- consulte as permissões do arquivo. A carta d no início de algumas expressões indica que essa expressão é um diretório. Se explicarmos as partes restantes separadamente, as partes separadas pelo - sign representam o grupo de usuários com essa permissão.
Para melhor compreensão, divida-os em grupos de três, excluindo a letra d.
rwxr-xr-x = rwxr-xr-x
r-r--r-- = rw-r--r--
O primeiro conjunto de letras especifica as permissões do proprietário do arquivo, o segundo das permissões do grupo e o último conjunto especifica as permissões de outros usuários.
Assim, as permissões nos arquivos acima são:
- r: privilégio de leitura
- W: privilégio de gravação
- x: privilégio de execução
- rwx: o usuário que possui o arquivo pode ler, escrever, executar
- r-x: outros usuários podem ler, executar, mas não escrever
Alterando permissões com chmod
Apenas o root, que é a pessoa mais autorizada, pode alterar o privilégio de acesso. Este processo de mudança é facilmente realizado com o chmod comando.
Os parâmetros e significados do chmod comando são dados abaixo.
- você: Proprietário do arquivo ou diretório
- g: Usuários no mesmo grupo que o proprietário do arquivo ou diretório
- o: Outros usuários
- uma: Aberto a todos
- =: Sincronização de autorização
- +: Adicionar autorização
- -: Exclusão de autorização
Agora que você viu os significados dos parâmetros, agora você pode considerar uma operação de exemplo. Por esta, crie um diretório de amostra e siga os passos abaixo em ordem.
Use o ls -l comando para procurar as permissões dos arquivos na pasta que você criou. Ao fazer isso, pense que a estrutura de permissão de seus arquivos é a seguinte.
ls -l
total 4
1 raizraiz 0 abril 25 16:20exemplo.TXT
1 raizraiz 0 abril 25 16:21ex_File
d 2 raizraiz 4096 abril 25 16:21ex_Folder
1 raizraiz 0 abril 25 16:20ex_Text
Depois disso, acesse todos os arquivos da pasta usando * caractere e deixe escrever (w) tornar-se público usando chmod +w* comando.
chmod +w*
ls -l
total 4
--w-r-x 1 raizraiz 0 abril 25 16:20exemplo.TXT
--w-r-x 1 raizraiz 0 abril 25 16:21ex_File
d-w-r-x 2 raizraiz 4096 abril 25 16:21ex_Folder
--w-r-x 1 raizraiz 0 abril 25 16:20ex_Text
Agora, tente dar autorização de leitura-gravação-execução (rwx) para usuários no grupo (g), permissões de gravação (w) para usuários (u) e somente permissões de execução (x) para outros usuários.
chmod g+rwx, u+w, o+x *
ls -l
total 4
--w-rwx--x 1 raizraiz 0 abril 25 16:20exemplo.TXT
--w-rwx--x 1 raizraiz 0 abril 25 16:21ex_File
d-w-rwx--x 2 raizraiz 4096 abril 25 16:21ex_Folder
--w-rwx--x 1 raizraiz 0 abril 25 16:20ex_Text
E, finalmente, você pode usar um comando como o abaixo para desautorizar arquivos em sua localização.
chmod a-rwx *
<código>ls -l
total 4
1 raizraiz 0 abril 25 16:20exemplo.TXT
1 raizraiz 0 abril 25 16:21ex_File
d 2 raizraiz 4096 abril 25 16:21ex_Folder
1 raizraiz 0 abril 25 16:20ex_Text
Além desses usos, os processos de autorização também podem ser expressos em termos numéricos que você provavelmente já encontrou antes e usou sem perceber.
Os números são definidos para cada autorização
Proprietário do arquivo | Usuários no mesmo grupo que o proprietário do arquivo | Outros usuários | |
r | 4 | 4 | 4 |
W | 2 | 2 | 2 |
x | 1 | 1 | 1 |
Por exemplo, imagine que você deseja conceder todas as permissões apenas ao proprietário do arquivo. Para isso, você deve primeiro coletar os equivalentes numéricos dos padrões de autorização. Em outras palavras, como você dará todas as permissões, r=4 + w=2 + x=1=número total é 7.
Você deseja conceder essa permissão apenas ao proprietário do arquivo. Para fazer isso, você pode modificar ligeiramente o chmod rwx- comando que você normalmente usaria. Se você usar um comando como arquivo chmod 700, apenas o proprietário do arquivo terá todos os privilégios.
Para entender isso melhor, você pode pensar em outro exemplo. Imagine que o proprietário do arquivo tenha todas as permissões, os do grupo público tenham permissão de gravação e outros usuários tenham permissão de leitura.
Você pode usar a equação r (4)+w (2)+x (1)=7 para todos os privilégios concedidos ao proprietário do arquivo.
A autorização de gravação que você dá para os usuários no grupo comum com o proprietário do arquivo usará o número 2, que é o equivalente numérico do caractere de gravação (w). A autorização de leitura que você dará para outros usuários usará o número 4, que é o equivalente numérico do caractere de leitura (r).
Como pode ser entendido a partir da saída, os equivalentes numéricos devem ter realizado a autorização desejada.
Torne suas configurações de autorização válidas em subdiretórios com -R
Além disso, se você deseja que as permissões que você concede tenham efeito nesse diretório e suas subpastas, você deve usar seu comando com o -R parâmetro.
Por exemplo, liste os direitos de acesso da pasta chamada "ex_Folder" em sua localização. O resultado será uma saída informando que nenhum direito foi encontrado.
ls -l
total 4
1 raizraiz 0 abril 25 16:20exemplo.TXT
-rwx-w-r-- 1 raizraiz 0 abril 25 16:21ex_File
d 2 raizraiz 4096 abril 25 16:21ex_Folder
1 raizraiz 0 abril 25 16:20ex_Text
Em seguida, vá para dentro da pasta chamada "ex_Folder".
Em seguida, volte para o diretório pai. Use o -R parâmetro e escreva um comando como chmod -R 422 ex_Folder para que as permissões de acesso adicionadas sejam válidas para todos os subarquivos.
Como resultado, todos os arquivos, incluindo todos os arquivos e diretórios e subpastas, são autorizados de maneira que corresponda à instrução 422.
A melhor solução para arquivos excluídos acidentalmente: chattr
Seja qual for o motivo, se houver arquivos que você considera importantes, é possível protegê-los antes que sejam excluídos acidentalmente. O comando que dá essa oportunidade de proteção é o chat comando. o chat O comando não protege apenas contra exclusão, mas também é usado para impedir que o arquivo seja modificado.
Você pode usar seu lsattr comando para listar esses arquivos.
Tente proteger o main.cpp arquivo que aparece aqui com o chattr +i main.cpp comando.
Como visto na saída, há um -eu declaração na seção de permissões. Esta declaração é um sinal de que o arquivo não pode mais ser editado. Para confirmar isso, você pode tentar excluir este arquivo com um comando como rm -rf main.cpp.
rm-rfa Principal.cpp
rm: não pode remover 'main.cpp': Operação não permitida
Se você quiser desfazer esta operação e tornar o arquivo editável, basta usar o chattr -i main.cpp comando.
Privilégios de acesso são importantes para a segurança do sistema de arquivos
A autorização de acesso forma a espinha dorsal da segurança do sistema de arquivos Linux. Graças às permissões de acesso que podem ser dadas a cada arquivo separadamente, um gerenciamento do sistema muito mais confortável pode ser realizado.
Os direitos de acesso por usuário às vezes podem ser ainda mais significativos. Portanto, convém abordar os projetos e arquivos em seu sistema conhecendo os métodos de autorização descritos neste artigo.
Como alterar as permissões de arquivo em desktops Linux
Leia a seguir
Tópicos relacionados
- Linux
- Controle de conta de usuário
- Gerenciamento de arquivos
- Linux
- terminal
Sobre o autor
Um engenheiro e desenvolvedor de software que é fã de matemática e tecnologia. Ele sempre gostou de computadores, matemática e física. Ele desenvolveu projetos de mecanismos de jogos, bem como aprendizado de máquina, redes neurais artificiais e bibliotecas de álgebra linear. Além disso continua a trabalhar em aprendizado de máquina e matrizes lineares.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar