Porque *nix no tiene el cerebro lo suficientemente dañado como para hacer que un archivo sea "ejecutable binario" si lo llama ".exe" o "ejecutable de script" si lo llama ".bat".
En Linux, el nombre del archivo no importa.
Y los permisos que le das a un archivo do asunto.
Qué tipo de tiene sentido. En mi humilde opinión...
El bit de ejecución se confunde un poco entre ser un permiso y un identificador de tipo de objeto.
Y no, no puede "copiar siempre" el archivo a su directorio de inicio:solo si puede leerlo.
Los archivos pueden ser ejecutables para usted, pero no legibles.
Tiene razón en que si un archivo es legible para usted pero no ejecutable para usted, puede copiarlo y voltear el bit de ejecución y usarlo. Quizás. Pero podría no funcionar. El ejecutable puede ser sensible al lugar donde está instalado. O el archivo puede depender de su bit raíz setuid.
No diseñaría un sistema de permisos de esa manera comenzando desde cero; no tiene mucho sentido. El permiso de ejecución estaría separado de un atributo de tipo ejecutable, y el permiso de ejecución no se sobrecargaría con el permiso de búsqueda (incluso si se almacenara de esa manera; la API no lo revelaría a nivel de máscara de bits).
Me sorprende que nadie haya mencionado los binarios que se ejecutan con privilegios especiales. Wireshark viene con un caso de uso del mundo real aquí:una de sus funciones principales es capturar el tráfico de la red, algo que normalmente solo puede hacer el root. Tiene sentido que desee permitir que ciertos usuarios capturen tráfico con Wireshark sin tener que darles acceso completo a la raíz, por lo que Wireshark viene con un binario llamado dumpcap
que tenga las capacidades necesarias (CAP_NET_RAW y CAP_NET_ADMIN) habilitadas. Este binario es 0754 (rwxr-xr--
) y su GID asociado es un grupo especial que instala Wireshark. De esta forma, cualquier usuario del grupo puede ejecutar el binario (generalmente a través de Wireshark) para capturar tráfico, y se ejecutará con los privilegios necesarios para hacerlo, pero un usuario que no esté en ese grupo no podrá porque no lo haría. No tengo permiso de ejecución. Todavía podrían copiarlo en su directorio de inicio, pero su copia no tendría las capacidades necesarias configuradas, por lo que en realidad no podría capturar ningún tráfico.