phhsnews.com


phhsnews.com / Fonctionnement des permissions de fichiers Linux

Fonctionnement des permissions de fichiers Linux


Si vous utilisez Linux depuis un certain temps (et même OS X), vous aurez probablement rencontré une erreur "permissions". Mais que sont-ils exactement, et pourquoi sont-ils nécessaires ou utiles? Jetons un coup d'œil à l'intérieur.

Droits d'utilisateur

À l'époque, les ordinateurs étaient des machines massives incroyablement coûteuses. Pour en tirer le meilleur parti, de multiples terminaux informatiques ont été raccordés, ce qui a permis à de nombreux utilisateurs de travailler simultanément. Le traitement et le stockage des données ont été effectués sur la machine, tandis que les terminaux eux-mêmes n'étaient guère plus qu'un moyen de visualisation et de saisie des données. Si vous y réfléchissez, c'est à peu près la façon dont nous accédons aux données sur le «nuage»; regardez le système MP3 Cloud d'Amazon, Gmail, et Dropbox, et vous remarquerez que si les modifications peuvent être faites localement, tout est stocké à distance.

(Image: Zenith Z-19 terminal "stupide", crédit: ajmexico)

Pour que cela fonctionne, les utilisateurs individuels doivent avoir des comptes. Ils ont besoin d'une section de la zone de stockage qui leur est allouée, et ils doivent être autorisés à exécuter des commandes et des programmes. Tout le monde obtient des «autorisations d'utilisateur» spécifiques, qui dictent ce qu'ils peuvent et ne peuvent pas faire, où sur le système ils ont et n'ont pas accès, et dont ils peuvent et ne peuvent pas modifier les fichiers. Chaque utilisateur est également placé dans divers groupes, qui accordent ou limitent l'accès supplémentaire.

File Access

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

Dans le monde de Linux, les autorisations sont réparties en trois catégories: lecture, écriture et exécuter. L'accès "en lecture" permet d'afficher 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" signifie le propriétaire, "groupe" signifie tout utilisateur qui appartient au même groupe que le propriétaire et "monde" signifie tout le monde et 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 de départ, mais pas les personnes extérieures à votre groupe. Vous voudrez probablement limiter l'accès "en écriture" à vous-même, sauf si vous travaillez sur un projet partagé quelconque. Vous pouvez également créer un répertoire partagé qui permet à quiconque d'afficher et de modifier les fichiers dans ce dossier

Changer les permissions dans Ubuntu

GUI

Pour changer les permissions d'un fichier que vous possédez dans Ubuntu, faites un clic droit sur le file et allez dans "Propriétés".

Vous pouvez modifier si le propriétaire, le groupe ou les autres utilisateurs peuvent lire et écrire, lire uniquement ou ne rien faire. Vous pouvez également cocher une case pour permettre l'exécution du fichier, et cela l'activera pour le propriétaire, le groupe et les autres simultanément

Command-Line

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

ls -al

À côté de chaque fichier et répertoire, vous verrez une section spéciale qui décrit les permissions a. Cela ressemble à ceci:

-rwxrw-r-

Le r signifie "read", le w signifie "write", et le x signifie «exécuter». Les répertoires commencent par un «d» au lieu d'un «-». Vous remarquerez également qu'il y a 10 espaces qui ont une valeur. Vous pouvez ignorer le premier, puis il y a 3 ensembles de 3. Le premier ensemble est pour le propriétaire, le second ensemble est pour le groupe et le dernier ensemble est pour le monde.

Pour modifier les autorisations d'un fichier ou d'un répertoire , regardons la forme de base de la commande chmod

chmod [class] [opérateur] [permission] fichier

chmod [ugoa] [+ ou -] [rwx] fichier

Cela peut sembler compliqué au début, mais croyez-moi, c'est plutôt facile. D'abord, regardons les classes:

  • u: Ceci est pour le propriétaire
  • g: Ceci est pour le groupe.
  • o: Ceci est pour tous les autres.
  • a: Cela va changer les permissions

Ensuite, les opérateurs:

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

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

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

Maintenant, mettons c'est ensemble. Disons que nous avons un fichier nommé "todo.txt" qui a les permissions 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 changer les permissions pour celles-ci:

-rwxr-

C'est-à-dire que le propriétaire a toutes les permissions, et que le groupe peut lire. Nous pouvons le faire en 3 étapes. Tout d'abord, nous allons ajouter l'autorisation d'exécution pour l'utilisateur

chmod u + x todo.txt

Ensuite, nous allons supprimer l'autorisation d'écriture pour le groupe.

chmod gw todo.txt

Enfin, nous supprimerons les permissions de lecture pour tous les autres utilisateurs

chmod ou todo.txt

Nous pouvons aussi combiner ces permissions en une seule commande, comme ceci:

chmod u + x, gw, ou todo. txt

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

Voici quelques permissions utiles:

  • -rwxr-xr-x: Le propriétaire a toutes les permissions, groupe et autres utilisateurs peuvent lire le contenu du fichier et l'exécution.
  • -rwxr-r-: Le propriétaire a toutes les permissions, le groupe et les autres utilisateurs peuvent seulement lire le fichier (utile si cela ne vous dérange pas les autres qui consultent vos fichiers.
  • -rwx-: permissions, tous les autres n'en ont pas (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-rr-: Le propriétaire peut lire et écrire, groupe et autres utilisateurs peuvent seulement lire le fichier (utile pour le stockage personnel les sur un réseau partagé).
  • -rw--: Le propriétaire peut lire et écrire, tous les autres n'en ont pas (utile pour stocker les fichiers personnels).

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

Les fichiers racine ou Super-utilisateur et système

De nos jours, nous n'exécutons pas toujours des systèmes avoir plusieurs utilisateurs. Pourquoi devrions-nous nous inquiéter des permissions?

Eh bien, Unix et ses dérivés - Linux, OS X, entre autres - distinguent aussi les choses gérées par l'utilisateur, les choses gérées par un administrateur ou avec les privilèges admin, et les choses gérées par système lui-même. En tant que tel, les éléments qui font partie intégrante du système nécessitent des privilèges d'administrateur à modifier ou à accéder. De cette façon, vous ne risquez rien de mal.

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

Soyez conscient que dans ces deux circonstances, changer les autorisations de fichiers peut mener à l'échec des programmes, modification involontaire de la propriété du fichier à l'utilisateur root (au lieu du propriétaire) et réduction de la sécurité du système (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 sachiez ce que vous faites.


Les autorisations de fichier sont en place. Apprendre comment ils fonctionnent 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 de propriété des fichiers système.

Vous pensez pouvoir expliquer les choses plus facilement? Avoir une correction? Vous voulez vous souvenir des vieux jours? Faites une pause et mettez vos pensées dans les commentaires.


Quelle est la différence entre Ubuntu et Linux Mint?

Quelle est la différence entre Ubuntu et Linux Mint?

Ubuntu et Linux Mint sont deux des distributions Linux de bureau les plus populaires en ce moment. Si vous cherchez à plonger sous Linux - ou vous avez déjà utilisé Ubuntu ou Mint - vous vous demandez comment ils sont différents. Linux Mint et Ubuntu sont étroitement liés - Mint est basé sur Ubuntu. Bien qu'ils aient été très similaires au début, Ubuntu et Linux Mint sont devenus des distributions Linux de plus en plus différentes avec des philosophies différentes.

(how-to)

Pourquoi certains noms de fichiers et de dossiers Windows ont un point devant

Pourquoi certains noms de fichiers et de dossiers Windows ont un point devant

Alors que la plupart d'entre nous ne voient que les noms de fichiers et de dossiers sur nos systèmes Windows, d'autres personnes peuvent avoir rencontré quelque chose un peu plus inattendu - noms de fichiers et de dossiers avec un point devant eux. Pourquoi cela arrive-t-il? La session de questions-réponses d'aujourd'hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web de questions et réponses.

(how-to)