Comment fonctionnent les autorisations de fichiers Linux?

Table des matières:

Comment fonctionnent les autorisations de fichiers Linux?
Comment fonctionnent les autorisations de fichiers Linux?

Vidéo: Comment fonctionnent les autorisations de fichiers Linux?

Vidéo: Comment fonctionnent les autorisations de fichiers Linux?
Vidéo: Virtualisation : les hyperviseurs de type 1 et de type 2 - YouTube 2024, Mars
Anonim
Si vous utilisez Linux depuis un certain temps (et même sous OS X), vous aurez probablement rencontré une erreur «autorisations». Mais que sont-ils exactement et pourquoi sont-ils nécessaires ou utiles? Regardons de l’intérieur.
Si vous utilisez Linux depuis un certain temps (et même sous OS X), vous aurez probablement rencontré une erreur «autorisations». Mais que sont-ils exactement et pourquoi sont-ils nécessaires ou utiles? Regardons de l’intérieur.

Autorisations utilisateur

À l'époque, les ordinateurs étaient des machines gigantesques, incroyablement chères. Pour en tirer le meilleur parti, plusieurs terminaux informatiques ont été raccordés, ce qui a permis à de nombreux utilisateurs d’exercer leurs activités simultanément. Le traitement et le stockage des données s'effectuaient sur la machine, tandis que les terminaux eux-mêmes n'étaient rien de plus qu'un moyen de visualiser et de saisir des données. Si vous y réfléchissez, c’est en quelque sorte notre façon d’accéder aux données sur le «nuage»; Regardez les systèmes MP3, Amazon, Gmail et Dropbox du Cloud, et vous remarquerez que, même si les modifications peuvent être apportées localement, tout est stocké à distance.

(Image: Zenith Z-19 “terminal bête”; crédit: ajmexico)
(Image: Zenith Z-19 “terminal bête”; crédit: ajmexico)

Pour que cela fonctionne, les utilisateurs individuels doivent avoir des comptes. Ils doivent disposer d'une section de la zone de stockage qui leur est affectée et être autorisés à exécuter des commandes et des programmes. Tout le monde obtient des «autorisations utilisateur» spécifiques, qui dictent ce qu'il peut ou ne peut pas faire, à quel endroit du système il a ou n'a pas accès et les fichiers qu'il peut et ne peut pas modifier. Chaque utilisateur est également placé dans différents groupes, qui accordent ou restreignent d'autres accès.

Accès au fichier

Dans ce monde multi-utilisateur loufoque, nous avons déjà défini des limites quant à ce que les utilisateurs peuvent faire. Mais qu'en est-il de ce qu'ils accèdent? Eh bien, chaque fichier a un ensemble d’autorisations et un propriétaire. La désignation du propriétaire, généralement liée lors de la création du fichier, indique à quel utilisateur il appartient et seul cet utilisateur peut modifier ses autorisations d'accès.
Dans ce monde multi-utilisateur loufoque, nous avons déjà défini des limites quant à ce que les utilisateurs peuvent faire. Mais qu'en est-il de ce qu'ils accèdent? Eh bien, chaque fichier a un ensemble d’autorisations et un propriétaire. La désignation du propriétaire, généralement liée lors de la création du fichier, indique à quel utilisateur il appartient et seul cet utilisateur peut modifier ses autorisations d'accès.

Dans le monde Linux, les autorisations sont réparties en trois catégories: lecture, écriture et exécution. L’accès «en lecture» permet de visualiser le contenu d’un fichier, l’accès «en écriture» permet de modifier le contenu d’un fichier et «exécuter» permet d’exécuter un ensemble d’instructions, comme un script ou un programme. Chacune de ces catégories est appliquée à différentes classes: utilisateur, groupe et monde. «Utilisateur» désigne le propriétaire, «groupe» désigne tout utilisateur appartenant au même groupe que le propriétaire et «monde» désigne tout le monde.

Les dossiers peuvent également être restreints avec ces autorisations. Vous pouvez, par exemple, autoriser d'autres personnes de votre groupe à afficher les répertoires et les fichiers de votre dossier personnel, mais pas les personnes extérieures à votre groupe. Vous voudrez probablement limiter l'accès «en écriture» à vous-même, à moins que vous ne travailliez sur un projet partagé quelconque. Vous pouvez également créer un répertoire partagé qui permet à quiconque d'afficher et de modifier les fichiers de ce dossier.
Les dossiers peuvent également être restreints avec ces autorisations. Vous pouvez, par exemple, autoriser d'autres personnes de votre groupe à afficher les répertoires et les fichiers de votre dossier personnel, mais pas les personnes extérieures à votre groupe. Vous voudrez probablement limiter l'accès «en écriture» à vous-même, à moins que vous ne travailliez sur un projet partagé quelconque. Vous pouvez également créer un répertoire partagé qui permet à quiconque d'afficher et de modifier les fichiers de ce dossier.

Changer les permissions dans Ubuntu

Interface graphique

Pour modifier les autorisations d'un fichier que vous possédez dans Ubuntu, il suffit de cliquer dessus avec le bouton droit de la souris et d'aller à «Propriétés».

Vous pouvez indiquer si le propriétaire, le groupe ou les autres peuvent lire et écrire, lire seulement ou ne rien faire. Vous pouvez également cocher une case pour autoriser l'exécution du fichier, ce qui l'activera simultanément pour le propriétaire, le groupe et les autres.
Vous pouvez indiquer si le propriétaire, le groupe ou les autres peuvent lire et écrire, lire seulement ou ne rien faire. Vous pouvez également cocher une case pour autoriser l'exécution du fichier, ce qui l'activera simultanément pour le propriétaire, le groupe et les autres.

Ligne de commande

Vous pouvez également le faire via la ligne de commande. Accédez à un répertoire contenant des fichiers et tapez la commande suivante pour afficher tous les fichiers de la liste:

ls -al

À côté de chaque fichier et répertoire, vous verrez une section spéciale décrivant les autorisations dont il dispose. Cela ressemble à ceci:
À côté de chaque fichier et répertoire, vous verrez une section spéciale décrivant les autorisations dont il dispose. Cela ressemble à ceci:

-rwxrw-r–

le r signifie «lire», le w signifie «écrire» et le X signifie "exécuter". Les répertoires commencent par un "d" au lieu d'un "-". Vous remarquerez également qu’il ya 10 espaces qui ont une valeur. Vous pouvez ignorer le premier, puis il y a 3 jeux de 3. Le premier jeu est destiné au propriétaire, le second jeu est destiné au groupe et le dernier jeu est destiné au monde entier.

Pour modifier les autorisations d’un fichier ou d’un répertoire, examinons le formulaire de base de la commande chmod.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Cela peut sembler compliqué au début, mais croyez-moi, c’est assez facile. Tout d’abord, regardons les cours:

  • u: Ceci est pour le propriétaire.
  • g: Ceci est pour le groupe.
  • o: Ceci est pour tous les autres.
  • a: Cela modifiera les autorisations pour tout ce qui précède.

Ensuite, les opérateurs:

  • +: Le signe plus ajoutera les permissions qui suivent.
  • -: Le signe moins supprimera les autorisations qui suivent.

Encore avec moi? Et la dernière section est la même que lorsque nous avons vérifié les autorisations d’un fichier:

  • r: Permet l'accès en lecture.
  • w: Permet l'accès en écriture.
  • x: permet l'exécution.

Maintenant, mettons-le ensemble. Disons que nous avons un fichier nommé “todo.txt” qui a les autorisations suivantes:

-rw-rw-r–

Autrement dit, le propriétaire et le groupe peuvent lire et écrire et le monde ne peut que lire. Nous voulons modifier les autorisations sur celles-ci:

-rwxr-–

En d'autres termes, le propriétaire dispose de toutes les autorisations et le groupe peut lire. Nous pouvons le faire en 3 étapes. Premièrement, nous allons ajouter l’autorisation d’exécution pour l’utilisateur.

chmod u+x todo.txt

Ensuite, nous allons supprimer l’autorisation d’écriture du groupe.

chmod g-w todo.txt

Enfin, nous supprimerons les autorisations de lecture pour tous les autres utilisateurs.

chmod o-r todo.txt

Nous pouvons également les combiner en une seule commande, comme ceci:

chmod u+x,g-w,o-r todo.txt

Vous pouvez voir que chaque section est séparée par des virgules et qu'il n'y a pas d'espaces.
Vous pouvez voir que chaque section est séparée par des virgules et qu'il n'y a pas d'espaces.

Voici quelques autorisations utiles:

  • -rwxr-xr-x: le propriétaire dispose de toutes les autorisations, le groupe et les autres utilisateurs peuvent lire le contenu du fichier et s'exécuter.
  • -rwxr – r–: le propriétaire dispose de toutes les autorisations, les groupes et les autres utilisateurs ne peuvent lire que les fichiers (utile si vous ne faites pas attention aux autres personnes qui consultent vos fichiers.
  • -rwx--: le propriétaire dispose de toutes les autorisations, les autres n'en ont aucune (utile pour les scripts personnels).
  • -rw-rw--: Le propriétaire et le groupe peuvent lire et écrire (utile pour la collaboration avec les membres du groupe).
  • -rw-r – r–: le propriétaire peut lire et écrire, les groupes et les autres utilisateurs ne peuvent lire que les fichiers (utile pour stocker des fichiers personnels sur un réseau partagé).
  • -rw ---: Le propriétaire peut lire et écrire, tous les autres n'en ont pas (utile pour stocker des fichiers personnels).

Il y a quelques autres choses que vous pouvez faire avec chmod - comme setuid et setgid - mais elles sont un peu plus en profondeur et la plupart des utilisateurs n’auront pas besoin de les utiliser de toute façon.

La racine ou le super-utilisateur et les fichiers système

De nos jours, nous n’exécutons pas toujours des systèmes qui ont plusieurs utilisateurs. Pourquoi devrions-nous toujours nous soucier des autorisations?
De nos jours, nous n’exécutons pas toujours des systèmes qui ont plusieurs utilisateurs. Pourquoi devrions-nous toujours nous soucier des autorisations?

Eh bien, Unix et ses dérivés - Linux, OS X, entre autres - distinguent également les éléments gérés par l’utilisateur, les éléments exécutés par un administrateur ou avec des privilèges d’administrateur, et les éléments exécutés par le système lui-même. En tant que tel, les éléments essentiels au système nécessitent la modification ou l’accès aux privilèges d’administrateur. De cette façon, vous ne perdez rien accidentellement.

Dans Ubuntu, pour modifier les fichiers système, utilisez «sudo» ou «gksudo» pour obtenir l’équivalent des privilèges d’administrateur. Dans d'autres distributions, vous passez à «root» ou au «super-utilisateur», qui fait la même chose jusqu'à ce que vous vous déconnectiez.

Sachez que dans ces deux circonstances, la modification des autorisations de fichiers peut entraîner des problèmes de fonctionnement des programmes, modifier involontairement la propriété des fichiers en faveur de l'utilisateur racine (au lieu du propriétaire) et rendre le système moins sécurisé (en accordant plus d'autorisations). En tant que tel, il est recommandé de ne pas modifier les autorisations pour les fichiers - en particulier les fichiers système - à moins que cela ne soit nécessaire ou que vous ne sachiez pas ce que vous faites.

Des autorisations de fichiers sont en place pour fournir un système de base de sécurité aux utilisateurs. Leur fonctionnement peut vous aider à configurer le partage de base dans un environnement multi-utilisateur, à protéger les fichiers «publics» et à vous donner une idée des problèmes éventuels de propriété des fichiers système.

Pensez-vous pouvoir expliquer les choses plus facilement? Avoir une correction? Voulez-vous vous souvenir de l'ancien temps? Faites une pause et écrivez vos commentaires dans les commentaires.

Conseillé: