Permissão de Execução a Arquivo (script ou binário) no GNU/Linux - Abordagem Sistemática

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.

[ Hits: 14.284 ]

Por: Rodrigo Albuquerque Serafim em 11/10/2017 | Blog: https://www.vivaolinux.com.br/~raserafim


Atribuição em lote (Textual e Octal)



A atribuição da permissão de execução também pode ser realizada a vários arquivos de uma única vez (em lote) - e não somente a um arquivo por vez.

Tanto é possível definir nominalmente um conjunto de arquivos determinado, quanto é possível definir o conjunto de todos os arquivos de um determinado diretório. No primeiro caso, bastaria passar como parâmetro ao comando "chmod" os nomes dos arquivos separados por um espaço em branco; no segundo caso, bastaria passar como parâmetro curinga o "*.*" (asterisco-ponto-asterisco):

chmod +xr nome_do_arquivo1.ext nome_do_arquivo2.ext nome_do_arquivo3.ext # permissão de execução e leitura a "todos" os usuários para os arquivos informados como parâmetro

chmod +xr *.* # permissão de execução e leitura a "todos" os usuários para todos os arquivos do diretório atual

Para atribuir permissão de execução a todos os arquivos de um determinado diretório e de seus subdiretórios, por sua vez, pode ser utilizado o acréscimo do parâmetro "-R" (parâmetro de recursividade).

Porém, partindo-se dos códigos que já explicamos, além de acrescentar o parâmetro "-R", devemos também alterar a definição de um outro: ao invés do nome do arquivo, logo, devemos definir o nome do diretório alvo - que pode ser ou o caminho completo do diretório (exemplo: "/home/user/meus_scripts") ou apenas a indicação do diretório corrente (exemplo: "./" {ponto-barra}):

chmod -R +xr /home/user/meus_scripts # permissão de execução e leitura a "todos" os usuários para o diretório e seus subdiretórios

É equivalente a... | é similar a:

chmod -R +xr ./ # permissão de execução e leitura a "todos" os usuários para o diretório e seus subdiretórios

E:

chmod -R +777 /home/user/meus_scripts # permissão de execução e leitura a "todos" os usuários para o diretório e seus subdiretórios

É equivalente a... | é similar a:

chmod -R +777 ./ # permissão de execução e leitura a "todos" os usuários para o diretório e seus subdiretórios

Quando se faz referência a arquivos (mesmo que por "*.*"), o parâmetro "-R" é desconsiderado. Esse parâmetro apenas é levado em conta quando se passa ao comando "chmod" o diretório como parâmetro.

O cuidado que precisa ter com a utilização do parâmetro "-R" é que, como sua utilização demanda a passagem do nome do diretório alvo como parâmetro, o diretório alvo e também seus eventuais subdiretórios terão, assim, suas propriedades definidas igualmente com os argumentos de permissão passados ao comando "chmod". Portanto, caso retire a permissão de execução e/ou a permissão de leitura, sequer, será possível acessar o diretório - em função da insuficiência de permissão.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Terminal: Modo Textual e Modo Octal
   3. Modo Textual em seu código elementar (suficiente quando de um usuário)
   4. Modo Textual em seu código ampliado (recomendado quando de vários usuários)
   5. Modo Textual na sua distinção entre "adição" e "redefinição" de permissões
   6. Modo Octal em sua forma única ("redefinição")
   7. Atribuição em lote (Textual e Octal)
   8. Interface Gráfica: particularidades e layouts de categorização
   9. Considerações Finais
Outros artigos deste autor

Permissão de Execução de Arquivo (Script ou Binário) no GNU/Linux - Elementos Básicos para Compreensão

Leitura recomendada

Como desabilitar RAID 1

Raid 1 em 5 minutos e descanso por 3 meses

Instalando o modem Onda MSA110UP em distribuições Linux que utilizam o NetworkManager

Sabayon 5.0 - Transformando Sabayon 4.0r1 em Sabayon 5.0 "Full" (parte 2)

Faça backup do MySQL e envie para seu e-mail

  
Comentários
[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)

[2] Comentário enviado por raserafim em 18/10/2017 - 11:01h

colega Sandson,

você tem toda razão!

os erros que você indicou procedem sim!

obrigado pela leitura atenta do artigo!

obrigado por apontar os erros!

[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);

[4] Comentário enviado por raserafim em 30/10/2017 - 18:46h

Os erros apontados nos comentários anteriores já foram corrigidos diretamente no artigo pela moderação do VOL!

Obrigado Izaías!

[5] Comentário enviado por removido em 21/01/2018 - 14:05h


[4] Comentário enviado por raserafim em 30/10/2017 - 18:46h

Os erros apontados nos comentários anteriores já foram corrigidos diretamente no artigo pela moderação do VOL!

Obrigado Izaías!


Ok.
Sempre que precisarem de correções, avisem à moderação para que possamos editar e evitar que nossos leitores cometam erros.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts