O artigo aborda de modo sistemático e sob diversas maneiras a respeito de como dar permissão de execução a um arquivo, quer seja este arquivo um script ou binário. Veremos, pois, algumas formas de definir sua propriedade com permissão de execução, isso tanto por intermédio do Terminal (em seus Modos Textual e Octal) quanto por intermédio da Interface Gráfica.
Modo Textual em seu código elementar (suficiente quando de um usuário)
Entre as alternativas com o Terminal, talvez, o Modo Textual de dar permissão de execução seja o modo mais intuitivo e fácil de ser recordado.
O código imediatamente a seguir pode ser considerado a forma mais elementar do Modo Textual para dar permissão de execução a um determinado arquivo:
chmod +x nome_do_arquivo.ext# permissão de execução a "todos" os usuários
Nessa forma de configurar o atributo de execução, vale assinalar, a sua permissão é dada para "todos os usuários" do sistema, qualquer um estará contemplado no escopo de permissão do atributo de execução do arquivo - independente de ser ou não o proprietário do arquivo e de fazer ou não parte do grupo do proprietário do arquivo.
O parâmetro composto pelos argumentos do sinal de adição ("+") e do caractere que corresponde ao atributo de execução ("x") significa que se está adicionando permissão ao atributo de execução do arquivo. A não explicitação de para qual "usuário" ou de para qual "grupo" de usuários se está dando a permissão, assim, tem como consequência a aplicação da permissão para "todos os usuários ".
Quando nenhuma indicação de escopo é informada, logo, o que se está indicando é o escopo da permissão para "todos os usuários" (qualquer um). Suprimir o atributo que indica permissão à "todos os usuários" é o mesmo que indicá-lo explicitamente.
O que faz do código mencionado a pouco ser considerado a forma mais elementar do Modo Textual é, precisamente, a sua maneira enxuta de dar permissão de execução a um determinado arquivo utilizando-se do mínimo de argumentos, sequer indicando um argumento para o escopo de usuários.
Se a intenção for explicitar o escopo da permissão como sendo para "todos os usuários", para isso, utiliza-se o caractere "a" (de "all", em inglês) na condição de mais um argumento a conformar o parâmetro ao comando "chmod". É o caractere "a", na condição de "indicação do escopo" de usuários, agregando-se aos argumentos "operador do atributo" (que neste caso é o sinal de adição) e o "indicativo do atributo" (que neste caso é o caractere "x"), que, portanto, cumpre a função de explicitar que a amplitude do "escopo de usuários" que está sendo definida diz respeito a qualquer um dos usuários ("todos").
Neste caso da explicitação da permissão para qualquer um dos usuários, sendo assim, o código na sua "forma mais elementar" se converteria no seguinte código (que poderíamos caracterizá-lo como a "forma explicitada do código mais elementar":
chmod a+x nome_do_arquivo.ext# permissão de execução a "todos" os usuários
Quer dizer, em termos práticos, quando se quer dar permissão de execução para "todos os usuários", então, tanto faz utilizar o código em sua "forma mais elementar" ("+x") quanto utilizá-lo na sua "variação explicitada da forma elementar" ("a+x"). Os dois formatos de código produzem o mesmo resultado final.
chmod +x nome_do_arquivo.ext
É equivalente a... | é similar a:
chmod a+x nome_do_arquivo.ext# permissão de execução a "todos" os usuários
Até a esta altura do texto, expomos como configurar a permissão de execução em suas formas mais elementares - o que inclui a sua variação que explicita a forma elementar. Essas formas elementares do código são suficientes para dar permissão de execução a um determinado arquivo nas situações em que o sistema possui apenas um único usuário como utilizador. Quando o sistema possui apenas um único usuário cadastrado, assim, as formulações elementares do código costumam ser mais do que suficientes para efetivar a atribuição da permissão de execução.
São dois os aspectos que fazem com que as formulações elementares do código sejam satisfatórias, suficientes, nas situações de um sistema utilizado por apenas um usuário: o primeiro deles diz respeito a não necessidade de se preocupar com os níveis de amplitude das permissões (não é necessário se preocupar com permissões em relação à grupos ou à usuários que não são nem o dono do arquivo e nem compõem o grupo de usuário do qual o dono do arquivo é integrante). O segundo aspecto diz respeito a não necessidade de se preocupar com o atributo de leitura (não é necessário utilizar a atribuição da permissão de leitura quando o único usuário do sistema já tem essa permissão garantida).
Na sequência, vejamos como definir a permissão de execução a um arquivo por meio da utilização de códigos em sua forma mais ampla. Uma forma que, não excluindo a forma agora apresentada, mas estendendo-a, dá conta de um contexto cujo sistema possui mais de um usuário utilizando-o.
[1] Comentário enviado por Sandson em 17/10/2017 - 15:10h
Nesse comentário:
u → indica permissão {de execução} ao usuário [user] dono do arquivo alvo (proprietário)
g → indica permissão {de execução} ao usuário [user] dono do arquivo alvo (proprietário)
o → indica permissão {de execução} ao grupo [group] do qual o usuário dono faz parte
a → indica permissão {de execução} a todos [all] os usuários (é o mesmo que utilizar a sua supressão)
Não estaria errado não? O certo não seria?
u → indica permissão {de execução} ao usuário [user] dono do arquivo alvo (proprietário)
g → indica permissão {de execução} ao grupo [group] do qual o usuário dono faz parte
o → indica permissão {de execução} ao usuário que não faz parte do grupo do usuário dono
a → indica permissão {de execução} a todos [all] os usuários (é o mesmo que utilizar a sua supressão)
[3] Comentário enviado por raserafim em 18/10/2017 - 11:07h
ERRATA:
na página de número 4 {Modo Textual em seu código ampliado (recomendado quando de vários usuários)}, há um erro no "quadro sintético de todos os caracteres possíveis referentes ao argumento da "indicação do escopo" de usuários":
segue o "quadro sintético" correto:
u --> indica permissão {de execução} ao usuário [user] dono do arquivo alvo (proprietário);
g --> indica permissão {de execução} ao grupo [group] do qual o usuário dono faz parte;
o --> indica permissão {de execução} aos outros [other] usuários que não são nem o dono nem compõem o grupo de usuários do dono;
a --> indica permissão {de execução} a todos [all] os usuários (é o mesmo que utilizar a sua supressão);