pbonfanti
(usa Debian)
Enviado em 25/07/2018 - 11:58h
No linux o arquivo é identificado pelo conteúdo, não pela extensão.
O bash por exemplo vai executar seu script mesmo que você o nomeie como script.jpg. A extensão .sh é usada para facilitar ao administrador localizar facilmente quais arquivos são scripts.
Mas algumas coisas são recomendáveis, por exemplo que a primeira linha começe com um "shebang", que identifica qual o interpretador de comandos
deve rodar o seu script, pois você corre o risco do script ser executar por um interpretador diferente e ter resultados imprevistos, para o bash por exemplo é comum usar:
#!/bin/bash
Sobre a segurança o que realmente você precisa fazer é entender o sistema de permissões de arquivo do linux, principalmente o uso dos comandos chmod e chown, descuidar das permissões de arquivo é receita certa de desastre, permissoes de escrita em diretórios de servidores web vão permitir que façam upload de software malicioso e permissão de execução permite que rodem esse código.
No exemplo do Morimoto o iptables é executado pelo root, e portanto o arquivo não deve permitir nenhum tipo de acesso que não seja o do proprio root.
E todo executável do linux precisa ter a permissao de execução ativada, é extremamente comum que em aplicações que não estão funcionando as pessoas digam para rodar "chmod 777" , o que dá permissão total e irrestrita nos arquivos relacionados, enquanto isso vai fazer com que uma aplicação que estava com problema relativo a permissão de arquivos funcione, jamais se deve usar isso em ambiente de produção, corrija o que for necessário e ajuste e as permissões de acordo.