O artigo que se segue, aborda alguns elementos básicos para a compreensão a respeito de como dar permissão de execução a um arquivo, quer seja este arquivo um script, quer seja um binário.
Veremos, pois, alguns aspectos centrais e, até mesmo, pré-requisitos para quem pretende empreender em dar permissão de execução a um determinado arquivo.
São instruções que valem tanto para a atribuição por intermédio do Terminal, quanto por intermédio da Interface Gráfica.
Esse texto é uma espécie de síntese teórica-objetiva do meu artigo intitulado
Permissão de Execução a Arquivo (script ou binário) no GNU/Linux - Abordagem Sistemática [Artigo]
Elementos Básicos
a) O primeiro aspecto a observar, é que nos sistemas
GNU/Linux, mas não apenas e diferentemente de alguns outros sistemas, um arquivo executável não é definido por sua extensão, mas por sua propriedade de execução. Em poucas palavras: um determinado arquivo é considerado um executável quando tem a permissão de execução.
b) Porém, e aqui temos o segundo aspecto a observar, a permissão de execução é algo mais amplo do que, simplesmente, a definição do atributo relacionado à execução configurado permissivamente. A permissão de execução envolve um conjunto de atributos que congrega os atributos de permissão de execução e de leitura. A permissão de execução, portanto, pressupõe a permissão de leitura. Para que um determinado usuário possa executar um determinado arquivo o usuário precisa ter sobre o arquivo, há um só tempo, permissão de execução e permissão de leitura.
Para mais detalhes sobre esses dois grandes aspectos, ver as
página 1,
página 3 e
página 4 do artigo.
c) A observância da unidade entre esses dois atributos (de execução e de leitura) para a efetiva permissão de execução é especialmente importante nos casos em que o sistema possui mais de um usuário cadastrado. Neste sentido, quando se trata da utilização do terminal, é possível nos referirmos a um código elementar (suficiente quando da utilização de um único usuário no sistema) e a uma forma ampliada desse código elementar (recomendado quando da utilização do sistema por vários usuários).
d) A permissão de execução poderá ser realizada pelo "usuário comum" ou pelo "superusuário" (root): quando se pode utilizar um ou o outro tipo de usuário vai depender, unicamente, de quem é o dono do arquivo (proprietário). O "root" pode alterar a permissão para execução (e não apenas) de qualquer arquivo independentemente de qual usuário seja o proprietário; já o "usuário comum" apenas pode alterar essa permissão (e todas as outras) daqueles arquivos dos quais este usuário seja o dono.
e) No Terminal, a atribuição de permissões se faz utilizando-se do comando
chmod. Este comando em conjunto com os argumentos que conformam o parâmetro informativo das permissões que se quer atribuir e, também, com o nome do arquivo alvo (ou do diretório alvo), que proporciona a alteração das permissões dos atributos de permissão.
e) O comando
chmod possui dois grandes conjuntos de sintaxe: a sintaxe chamada de Modo Textual e a chamada de Modo Octal. Um, possui duas modalidades diferentes de atribuição de permissão ("adição" e "redefinição"); o outro, possui apenas uma modalidade ("redefinição").
f) Na mediação com a Interface Gráfica, vale lembrar que o layout da guia de "Permissões", em geral, se divide em dois tipos: aquelas que organizam os atributos e os escopos de permissões a partir da centralidade nos atributos; e aquelas que organizam os atributos e os escopos de permissões a partir da centralidade nos escopos de permissões. Além disso, cada Ambiente Gráfico pode operar internamente a atribuição da permissão de execução de maneira diferente uma da outra.
g) Embora a Interface Gráfica possa parecer o meio mais prático de atribuir permissão de execução, no entanto, possui as desvantagens de que nem sempre é um meio que está disponível e as vezes, quando se trata de muitos arquivos, é moroso.
h) Por padrão, todo arquivo criado ou baixado da internet tem os seus atributos de permissões configurados sem permissão de execução. Assim, caso se precise das propriedades de execução de um determinado arquivo, por conseguinte, é necessário configurar diretamente sua permissão de execução.
Considerações Finais
Para uma abordagem técnica-objetiva da atribuição de permissão de execução a um arquivo, ver ou o meu
artigo já mencionado ou minha dica
Como dar Permissão de Execução a Arquivo (script ou binário) no GNU/Linux - Abordagem Prática.
Rodrigo Albuquerque Serafim