GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi ai-je besoin d'un bit 'execute' en mode fichier sur les systèmes de fichiers Unix ?

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.


Linux
  1. Hachage de mot de passe et pourquoi nous en avons besoin

  2. Pourquoi utilisons-nous "./" (point Slash) pour exécuter un fichier sous Linux/unix ?

  3. Exécuter une commande où un fichier est trouvé ?

  4. Pourquoi avons-nous besoin du fichier .so.1 sous Linux ?

  5. Pourquoi les fichiers .so sont-ils exécutables ?

Comment rendre un fichier exécutable sous Linux

Comment convertir un fichier Windows en un fichier UNIX

FSTAB &MTAB

Top 10 des systèmes d'exploitation basés sur Unix

Commande AWK sous Linux/Unix

Comment éditer un fichier binaire sur les systèmes Unix