Autorisations de fichiers sous Linux/Unix : comment lire, écrire et modifier ?

Linux est un clone d'UNIX, le système d'exploitation multi-utilisateurs accessible simultanément par de nombreux utilisateurs. Linux peut également être utilisé sur les mainframes et les serveurs sans aucune modification. Mais cela soulève des problèmes de sécurité, car un utilisateur non sollicité ou malveillant peut corrompre, modifier ou supprimer des données cruciales. Pour une sécurité efficace, Linux divise l'autorisation en 2 niveaux.

  1. La propriété
  2. Autorisation

Le concept de fichier Linux autorisation ou possession est crucial sous Linux. Ici, nous expliquerons les autorisations et la propriété Linux et discuterons des deux. Commençons par le La possession.

Cliquez sur ici. si la vidéo n'est pas accessible

Propriété des fichiers Linux

Chaque fichier et répertoire de votre système Unix/Linux se voit attribuer 3 types de propriétaires, indiqués ci-dessous.

Utilisateur

Un utilisateur est le propriétaire du fichier. Par défaut, la personne qui a créé un fichier en devient le propriétaire. Par conséquent, un utilisateur est aussi parfois appelé propriétaire.

réservation de groupe

Un groupe d'utilisateurs peut contenir plusieurs utilisateurs. Tous les utilisateurs appartenant à un groupe auront les mêmes autorisations de groupe Linux pour accéder au fichier. Supposons que vous ayez un projet dans lequel plusieurs personnes ont besoin d'accéder à un fichier. Au lieu d'attribuer manuellement des autorisations à chaque utilisateur, vous pouvez ajouter tous les utilisateurs à un groupe et attribuer une autorisation de groupe au fichier de sorte que seuls les membres de ce groupe et personne d'autre ne puissent lire ou modifier les fichiers.

Autres

Tout autre utilisateur ayant accès à un fichier. Cette personne n'a ni créé le fichier, ni fait partie d'un groupe d'utilisateurs qui pourrait posséder le fichier. Pratiquement, cela signifie tout le monde. Par conséquent, lorsque vous définissez l'autorisation pour les autres, il est également appelé autorisations définies pour le monde.

Maintenant, la grande question se pose comment distinction Linux entre ces trois types d'utilisateurs afin qu'un utilisateur « A » ne puisse pas affecter un fichier contenant des informations/données vitales d'un autre utilisateur « B ». C'est comme si vous ne vouliez pas que votre collègue, qui travaille sur votre Ordinateur Linux, pour visualiser vos images. C'est ici que Permissions mis en place, et ils définissent comportement de l'utilisateur.

Comprenons le Système d'autorisation sur Linux.

Autorisations de fichiers Linux

Chaque fichier et répertoire de votre système UNIX/Linux a les 3 autorisations suivantes définies pour les 3 propriétaires mentionnés ci-dessus.

  • Lire: Cette autorisation vous donne le pouvoir d'ouvrir et de lire un fichier. L'autorisation de lecture sur un répertoire vous donne la possibilité de répertorier son contenu.
  • Écrire: L'autorisation d'écriture vous donne le droit de modifier le contenu d'un fichier. L'autorisation d'écriture sur un répertoire vous donne le droit d'ajouter, de supprimer et de renommer les fichiers stockés dans le répertoire. Considérez un scénario dans lequel vous devez écrire l'autorisation sur le fichier mais n'avez pas l'autorisation d'écriture sur le répertoire où le fichier est stocké. Vous pourrez modifier le contenu du fichier. Mais vous ne pourrez pas renommer, déplacer ou supprimer le fichier du répertoire.
  • Exécuter: In Windows, un programme exécutable a généralement une extension « .exe » et que vous pouvez facilement exécuter. Sous Unix/Linux, vous ne pouvez pas exécuter un programme à moins que l'autorisation d'exécution ne soit définie. Si l'autorisation d'exécution n'est pas définie, vous pourrez peut-être toujours voir/modifier le code du programme (à condition que les autorisations de lecture et d'écriture soient définies), mais pas l'exécuter.

Autorisations de fichiers Linux
Autorisations de fichiers sous Linux/Unix

Voyons les autorisations de fichiers sous Linux avec des exemples :

ls - l sur borne donne

ls - l

Autorisations de fichiers Linux

Ici, nous avons mis en évidence '-rw-rw-r–'et ce code étrange est celui qui nous renseigne sur les autorisations Unix accordées au propriétaire, au groupe d'utilisateurs et au monde.

Ici, le premier '-' implique que nous avons sélectionné un fichier.p>

Autorisations de fichiers Linux

Sinon, s'il s'agissait d'un répertoire, d aurait été montré.

Autorisations de fichiers Linux

Les personnages sont assez faciles à retenir.

r = permission de lecture
w = permission d'écriture
x = autorisation d'exécution
- = pas de permission

Voyons cela de cette façon.

La première partie du code est 'rw-'. Cela suggère que le propriétaire "Accueil" peut :

Autorisation de fichier Linux

  • Lisez le dossier
  • Écrire ou modifier le fichier
  • Il ne peut pas exécuter le fichier car le bit d'exécution est défini sur '-'.

De par leur conception, de nombreuses distributions Linux comme Fedora, CentOS, Ubuntu, etc. ajoutera des utilisateurs à un groupe portant le même nom de groupe que le nom d'utilisateur. Ainsi, un utilisateur « tom » est ajouté à un groupe nommé « tom ».

La deuxième partie est 'rw-'. Il pour le groupe d'utilisateurs 'Accueil' et les membres du groupe peuvent :

  • Lisez le dossier
  • Écrire ou modifier le fichier

La troisième partie est pour le monde, c'est-à-dire n'importe quel utilisateur. Ça dit 'r–'. Cela signifie que l'utilisateur peut uniquement :

  • Lisez le dossier

Autorisations de fichiers Linux

Modification des autorisations de fichier/répertoire sous Linux à l'aide de la commande 'chmod'

Dites que vous ne voulez pas que votre collègue voie vos images personnelles. Ceci peut être réalisé en modifiant les autorisations de fichiers.

Nous pouvons utiliser le 'chmod' commande qui signifie "changer de mode". En utilisant la commande, nous pouvons définir des autorisations (lecture, écriture, exécution) sur un fichier/répertoire pour le propriétaire, le groupe et le monde.

syntaxe:

chmod permissions filename

Il existe 2 façons d'utiliser le commander -

  1. Mode absolu
  2. Mode symbolique

Mode absolu (numérique) sous Linux

Dans ce mode, fichier les autorisations ne sont pas représentées par des caractères mais par un nombre octal à trois chiffres.

Le tableau ci-dessous donne des nombres pour tous les types d'autorisations.

Numéro Type d'autorisation Symbole
0 Aucune autorisation -
1 Exécution -X
2 Écrire -w-
3 Exécuter + Ecrire -wx
4 Lire r–
5 Lire + exécuter rx
6 Lire + Ecrire rw-
7 Lire + Ecrire + Exécuter rwx

Voyons la commande chmod permissions en action.

Mode absolu (numérique) sous Linux

Dans la fenêtre de terminal ci-dessus, nous avons changé les autorisations du fichier 'sample en '764'.

Mode absolu (numérique) sous Linux

Le code absolu '764' indique ce qui suit :

  • Le propriétaire peut lire, écrire et exécuter
  • Le groupe d'utilisateurs peut lire et écrire
  • Le monde ne peut que lire

Ceci est affiché comme '-rwxrw-r–

C'est ainsi que vous pouvez modifier les autorisations des utilisateurs dans Linux sur fichier en attribuant un nombre absolu.

Mode symbolique sous Linux

En mode Absolu, vous modifiez les autorisations des 3 propriétaires. En mode symbolique, vous pouvez modifier les autorisations d'un propriétaire spécifique. Il utilise des symboles mathématiques pour modifier les autorisations des fichiers Unix.

Operator Description

+

Ajoute une autorisation à un fichier ou un répertoire

-

Supprime l'autorisation

=

Définit l'autorisation et remplace les autorisations définies précédemment.

Les différents propriétaires sont représentés comme –

Dénotations utilisateur

u

utilisateur / propriétaire

g

groupe

o

autres

a

tous

Nous n'utiliserons pas d'autorisations en nombres comme 755 mais en caractères comme rwx. Regardons un exemple

Mode symbolique sous Linux

Changer de propriétaire et de groupe sous Linux

Pour modifier la propriété d'un fichier/répertoire, vous pouvez utiliser la commande suivante :

chown user filename

Si vous souhaitez modifier l'utilisateur ainsi que le groupe d'un fichier ou d'un répertoire, utilisez la commande

chown user:group filename

Voyons cela en action

Changer de propriétaire et de groupe sous Linux

Si vous souhaitez modifier uniquement le propriétaire du groupe, utilisez la commande

chgrp group_name filename

»chgrp' signifie groupe de changement.

Changer de propriétaire et de groupe sous Linux

Astuce

  • Le fichier /etc/group contient tous les groupes définis dans le système
  • Vous pouvez utiliser la commande « groupes » pour retrouver tous les groupes dont vous êtes membre o
  • Changer de propriétaire et de groupe sous Linux

  • Vous pouvez utiliser la commande newgrp pour travailler en tant que membre d'un groupe autre que votre groupe par défaut
  • Changer de propriétaire et de groupe sous Linux

  • Vous ne pouvez pas avoir 2 groupes possédant le même fichier.
  • Vous n'avez pas de groupes imbriqués sous Linux. Un groupe ne peut pas être un sous-groupe d'un autre
  • x- Exécuter un répertoire signifie être autorisé à « entrer » dans un répertoire et à accéder éventuellement aux sous-répertoires
  • Il existe d'autres autorisations que vous pouvez définir sur les fichiers et les répertoires qui seront abordées dans un didacticiel avancé ultérieur.

Résumé :

  • Linux étant un système multi-utilisateurs, il utilise les autorisations et la propriété pour des raisons de sécurité.
  • Il existe trois types d'utilisateurs sur un système Linux, à savoir. Utilisateur, groupe et autre
  • Linux divise les autorisations de fichier en lecture, écriture et exécution indiquées par r, w et x
  • Les autorisations sur un fichier peuvent être modifiées par la commande 'chmod' qui peut être divisée en mode Absolu et Symbolique
  • La commande 'chown' peut changer la propriété d'un fichier/répertoire. Utilisez les commandes suivantes : chown user file ou chown user:group file
  • La commande 'chgrp' peut modifier la propriété du groupe nom de fichier du groupe chrgrp
  • Que signifie x – exécuter un répertoire ? R : Être autorisé à « entrer » dans un répertoire et à accéder éventuellement aux sous-répertoires.