Nível Básico / Iniciante
Ao ler este artigo você saberá:
- utilizar o método octal para definições de permissões com o comando chmod.
- calcular o valor a ser definido na permissão de arquivo ou diretório.
Sem sombra de dúvidas, uma das coisas que assusta a muitos novos usuários de linux (Principalmente para quem está acostumado com Windows), além da estrutura de arquivos e diretórios são as permissões. Sua forma de administrar e operar.
Obs: Em um artigo anterior , já tratei um pouco sobre arquivos e permissões no Linux, se você desejar ver este arquivo, clique aqui.
Depois de conversar com alguns colegas e pessoas que estavam começando no mundo Linux, descobri que seria necessário refinar mais o artigo de permissões de arquivos e diretórios no Linux, principalmente no modo octal, então acredido que por meio desta explanação, você terá suas dúvidas sanadas.
Cada arquivo no Linux possui permissões especificas e propriedades que indicam a que usuário e grupo ele pertence. É exatamente através destas características que se derterminaIn quem pode ou não ter acesso a determinada informação. De fato, o Linux trabalha desta forma de formas mais abrangentes que simples gerenciamento de arquivos ou diretórios, mas este é tema para outro momento.
Para começarmos a tratar do assunto de permissões de arquivos, podemos iniciar tendo em mente o seguinte:
No Linux as permissões são atribuídas em três níveis específicos, que envolve todos usuários:
- Usuário proprietário do arquivo ou diretório: Na maioria das vezes foi quem o criou, mas pode receber essa atribuição pelo root.
- Grupo do proprietário do arquivo ou diretório: É o grupo que categoriza os usuários do mesmo grupo de quem criou o arquivo ou diretório, mas pode ser alterado pelo root.
- Outros usuários: São qualquer outro que não o próprio usuário proprietário ou membro do grupo do proprietário.
Para cada um destes níveis, existem três tipos de permissões:
- r – para leitura.
- w – para escrita ou gravação.
- x – para exceção, no caso de se tratar de um script ou binário executável.
Apenas para tornar mais fácil a leitura da apresentação das permissões de um arquivo, devemos nos lembrar que o Linux também classifica arquivos e diretórios por tipos:
Você nota isso claramente quando utiliza o comando ls para listar os arquivos e diretórios. Note que independente se estamos nos referindo a um arquivo ou diretório, temos apresentado pelo sistema o tipo que classifica e os níveis de permissões.
Na imagem, você nota a utilização do comando ls -lt.
O método octal é uma representação das permissões no nível binário e esta forma de administração funciona através da soma de valores. Os valores são:
- r – 4
- w – 2
- x – 1
Sim, são representados em ordem decrescente. A soma de todos representa o nível mais alto de permissão: 7. Isso diz ser possível ler, gravar e executar, ou seja, todas possibilidades. Agora tendo isso em mente note essa tabela de possíveis combinações:
Então se representarmos r, w e x como 4, 2 e 1, note que a permissão passa a ser atribuída conforme a soma dos campos no modo octal. Note estes exemplos:
Então quando olhamos desta forma, é mais simples de compreendermos, pois se você precisar definir as permissões para um arquivo no formato 755, você sabe que se aplica 7 para o proprietário, 5 para o grupo do proprietário e 5 para outros usuários quaisquer de outros grupos. Logo você definiu rwx par o proprietário, r-x para o grupo do proprietário e r-x para os demais usuários de outros grupos.
Então veja essa tabela que representa uma estrutura de arquivos:
Para alterar as permissões do arquivo, utilizamos o comando chmod. Podemos alterar as permissões utilizando método diferencial, atribuição direta ou octal.
Sintaxe: chmod [parâmetros] <arquivo>
Antes de apresentar cada método, as letras seguintes serão utilizadas em pelo menos dois métodos:
- A Todos
- U Usuário
- G Grupo
- O Outros
- + Adicionar permissão
- – Remover permissão
- = Igualdade ou Atribuição
Assim podemos utilizar o comando chmod:
# chmod 755 teste.sh
Eu já disse isso antes: Podemos até dar mais exemplos, até enjoar! 🙂 :
# chmod 400 teste.sh
Resultará: r——– Leitura apenas para o usuário proprietário, root pode mudar isso.
# chmod 444 teste.sh
Resultará: r–r–r– Leitura para o usuário proprietário, grupo do proprietário e outros usuários.
# chmod 600 teste.sh
Resultará: rw——- Leitura e gravação apenas para o usuário proprietário.
# chmod 620 teste.sh
Resultará: -rw–w—- Leitura e gravação para o usuário proprietário, gravação para o grupo do proprietário.
# chmod 640 teste.sh
Resultará: -rw-r—– Leitura e gravação para o usuário proprietário, e leitura para o grupo do proprietário.
# chmod 644 teste.sh
Resultará: rw-r–r– Leitura e execução para o usuário proprietário, leitura para o grupo do proprietário e leitura para outros usuários.
# chmod 770 teste.sh
Resultará: -rwxrwx— Leitura e gravação e execução para o usuário proprietário, leitura gravação e execução para o grupo do proprietário e nenhuma para outros usuários.
# chmod 777 teste.sh
Resultará: -rwxrwxrwx Permissão total para usuário proprietário, grupo do proprietário e outros.
Basta?!
Você pode de repente decidir alterar as permissões logo para uma série de arquivos, ou um diretório todo e para isso, utilizará recursão. Para isso, utilize o no comando chmod, parâmetro -R antes das definições de permissões. Cuida com esse recurso, pode ser uma benção e ao mesmo tempo uma maldição!
Acredito que estas informações serão bem práticas para você!
[]’s
Deu para apreender alguma coisa
Me ajudou bastante! Obg