Parce que *nix n'est pas suffisamment endommagé pour rendre un fichier "exécutable binaire" si vous le nommez ".exe" ou "script exécutable" si vous le nommez ".bat".
Sous Linux, le nom du fichier n'a pas d'importance.
Et les permissions que vous donnez à un fichier font matière.
Quel genre de sens. À mon humble avis...
Le bit d'exécution est quelque peu confondu entre une autorisation et un identifiant de type d'objet.
Et, non, vous ne pouvez pas "toujours copier" le fichier dans votre répertoire personnel :uniquement s'il est lisible pour vous.
Les fichiers peuvent être exécutables pour vous, mais pas lisibles.
Vous avez raison de dire que si un fichier est lisible pour vous mais pas exécutable pour vous, vous pouvez le copier et inverser le bit d'exécution et l'utiliser. Peut-être. Mais cela pourrait ne pas fonctionner. L'exécutable peut être sensible à l'endroit où il est installé. Ou le fichier peut dépendre de son bit racine setuid.
Je ne concevrais pas un système d'autorisation de cette façon en partant d'une table rase ; cela n'a pas tout à fait de sens. L'autorisation d'exécution serait distincte d'un attribut de type exécutable, et l'autorisation d'exécution ne serait pas surchargée avec l'autorisation de recherche (même si elle était stockée de cette façon ; l'API ne la révélerait pas au niveau du masque).
Je suis surpris que personne n'ait mentionné les binaires qui s'exécutent avec des privilèges spéciaux. Wireshark est livré ici avec un cas d'utilisation réel :l'une de ses principales fonctions est de capturer le trafic réseau, ce que seul root peut normalement faire. Il est logique que vous souhaitiez autoriser certains utilisateurs à capturer le trafic avec Wireshark sans avoir à leur donner un accès root complet, donc Wireshark est livré avec un binaire appelé dumpcap
qui a les capacités nécessaires (CAP_NET_RAW et CAP_NET_ADMIN) activées. Ce binaire est 0754 (rwxr-xr--
) et son GID associé est un groupe spécial installé par Wireshark. De cette façon, n'importe quel utilisateur du groupe peut exécuter le binaire (généralement via Wireshark) pour capturer le trafic, et il fonctionnera avec les privilèges nécessaires pour le faire, mais un utilisateur ne faisant pas partie de ce groupe ne pourra pas le faire car il ne le ferait pas. t avoir l'autorisation d'exécution. Ils pourraient toujours le copier dans leur répertoire personnel, mais leur copie n'aurait alors pas les fonctionnalités nécessaires, de sorte qu'elle ne pourrait pas capturer de trafic.