Sécurité

Autorisations Linux expliquées

Autorisations Linux expliquées

Le système d'exploitation (OS) Linux a été développé pour être multitâche et multi-utilisateur. Un système d'exploitation multitâche nous permet d'exécuter différents programmes simultanément, un système d'exploitation multi-utilisateur permet à différents utilisateurs de l'utiliser simultanément. Ce qui signifie que Linux est un système d'exploitation multitâche car il peut exécuter des programmes en même temps alors qu'il est multi-utilisateurs car vous pouvez vous connecter à un appareil et l'utiliser via ssh pendant qu'un autre utilisateur l'utilise.Si je ne me trompe pas, les dernières versions de Windows, au moins les versions de serveur, permettent à différents utilisateurs d'utiliser l'ordinateur via le bureau à distance, elles prennent également en charge ssh via OpenSSH.  Mais contrairement à Linux, Windows a été initialement développé pour être un système d'exploitation personnel et pendant de nombreuses années, les systèmes basés sur Linux et Unix ont monopolisé les fonctions multitâches et multi-utilisateurs, ce qui signifie une sécurité et une stabilité accrues pour un système développé pour être partagé entre les utilisateurs sans autorisation de casser le système en exécutant un code dangereux ou en supprimant un fichier vital.En tant que système d'exploitation multi-utilisateurs, Linux a incorporé un moyen très sophistiqué de gérer les autorisations pour les utilisateurs, les groupes d'utilisateurs, les fichiers, les répertoires et même les partitions ou les disques.

Comprendre la syntaxe des autorisations sous Linux

Sous Linux, nous avons 3 types de permissions :

Autorisation de lecture : Autorisation de lire un fichier, par exemple, nous pouvons lire le code d'un script, mais nous ne pouvons pas l'exécuter.

Autorisation d'écriture : Autorisation d'écrire un fichier, dans ce cas, nous pouvons modifier le script mentionné ci-dessus à titre d'exemple, nous pouvons également le supprimer ou nous pouvons créer des fichiers dans un répertoire.

Autorisation d'exécution : Nous pouvons exécuter le script ou exécuter des programmes avec cette autorisation.

Sur un programme ou un répertoire on peut avoir aucun de ces droits, tous ou un ou deux d'entre eux mais les permissions précisent aussi qui a quoi de ces droits. Pour Linux nous avons 3 objets pour les règles de permissions :

L'utilisateur: Le propriétaire du fichier ou du répertoire.

Le groupe: Utilisateurs ou programmes appartenant au groupe du fichier.

Personne:  Quelqu'un d'autre.

Chaque fichier ou répertoire sous Linux contiendra des informations sur ses propres autorisations, les informations sont composées de ces 9 spécifications mentionnées ci-dessus : autorisations de lecture, d'écriture et d'exécution pour l'utilisateur, le groupe et toute autre personne.

La syntaxe des autorisations Linux est presque ce qui suit:

rwxrwxrwx
rwxrwxrwx

Dans ce cas, dans lequel l'utilisateur, le groupe et toute autre personne ont tous les droits, nous avons 9 caractères, R,W ET X répétés 3 fois. Les 3 premiers caractères définissent les droits/autorisations de l'utilisateur, les 3 seconds caractères définissent les droits/autorisations du groupe tandis que les 3 derniers caractères définissent les droits/autorisations de quelqu'un d'autre. Dans ce cas, l'utilisateur, le groupe et toute autre personne ont des autorisations de lecture, d'écriture et d'exécution.

Donc la syntaxe expliquée ci-dessus ressemblera vraiment à : Mais les permissions sont toujours précédées d'un "-" dans le cas des fichiers, pour un "d" dans le cas des répertoires (nous n'irons pas plus loin avec ceux-ci mais aussi un B pour le bloc devices, un C pour caractère, un S pour socket Unix et P pour Named Pipe).

-rwxrwxrwx
ou alors
drwxrwxrwx

Le premier pour les fichiers et le second pour les répertoires. L'utilité des premiers caractères ne sert qu'à déterminer le type de fichier et n'est pas utile pour gérer les permissions afin que vous puissiez vous concentrer sur rwxrwxrwx.

Comme dit ci-dessus, un fichier avec tous les droits pour tout le monde sera -rwxrwxrwx, un fichier avec tous les droits pour l'utilisateur et le groupe mais pas pour quelqu'un d'autre serait -rwxrwx-, avec 3 lignes remplaçant les lettres pour quelqu'un d'autre.

UNE annuaire avec des droits complets pour l'utilisateur, des droits de lecture uniquement pour le groupe et toute autre personne serait drwxr-r-.

Ces caractères ont des équivalents numériques que nous pouvons utiliser avec les commandes chmod :

rwx=7  (autorisations complètes)
rw- =6  (autorisations de lecture et d'écriture uniquement, aucune autorisation d'exécution)

r-x  =5  (autorisations de lecture et d'exécution uniquement, aucune autorisation d'écriture)

r-  =4  (autorisation de lecture uniquement, aucune autorisation d'écriture ni d'exécution)

-wx=3  (autorisations d'écriture et d'exécution uniquement, aucune autorisation de lecture)

-w- =2  (autorisation d'écriture uniquement, aucune autorisation de lecture ni d'exécution)

-X = 1  (autorisation d'exécution uniquement, aucune autorisation de lecture ni d'exécution)

- = 0  (Aucune autorisation)

Débuter avec chmod

La commande sous Linux pour définir les autorisations pour un fichier est chmod, avant de commencer avec chmod, créez un fichier vide avec nano :

nano fileforchmod

Une fois dans le nouveau type de fichier "tutoriel pour chmod" et appuyez sur CTRL+X et Oui pour enregistrer et quitter.

Après avoir enregistré le fichier, voyons ses autorisations, pour voir le type d'autorisation d'un fichier ou d'un répertoire :

ls -l

Dans ce cas:

ls -l fileforchmod

Comme nous le voyons, le fichier a des autorisations de lecture et d'écriture pour l'utilisateur, et des autorisations d'écriture pour le groupe et toute autre personne, l'utilisateur et le groupe sont "partagé".

Si nous exécutons la commande moins, nous pourrons voir notre document :

Quittons maintenant toutes les autorisations pour ce fichier, en donnant l'autorisation 0 (--), pour le faire exécuter :

chmod a-rw fileforchmod

Où:

chmod = appelle le programme pour modifier les autorisations

une = signifie "Tous"

-= signifie moins, nous supprimons les droits, n'ajoutons pas.

rw = droits de lecture et d'écriture

fichierforchmod = nom de fichier.

Lors de l'exécution de chmod, nous devons d'abord définir à qui l'autorisation ou la restriction est appliquée, si nous voulons ajouter ou reposer une autorisation, quelle autorisation et pour quel fichier.

Par exemple:

Pour définir pour qui nous administrons les autorisations, nous pouvons utiliser :

une = tout

vous = utilisateur

g = groupe

o = autres / quelqu'un d'autre

Pour définir si nous voulons ajouter ou supprimer une autorisation que nous utilisons :

- = supprimer l'autorisation.
+= ajouter une autorisation.

Types d'autorisation : rwx

nom de fichier = nom du fichier que vous souhaitez modifier.

Voyons maintenant si cela a fonctionné en exécutant à nouveau "ls -l fileforchmod"

Comme nous le voyons, les quelques autorisations dont le fichier disposait auparavant ont été supprimées. Ajoutons maintenant des autorisations pour l'utilisateur en lecture, pour le groupe en écriture et pour les autres à exécuter :

Donner à l'utilisateur les droits de lecture :

chmod u+r fichierforchmod

Donner au groupe les droits d'écriture :

Donner d'autres droits d'exécution :

chmod o+x fichierforchmod

Comme nous pouvons le voir si nous courons "ls -l fichierforchmod” maintenant nous avons les droits que nous avons ajoutés.

Il est important de rappeler qu'il nous suffit de définir l'objet de notre règle : l'utilisateur, le groupe ou autres, que si nous ajoutons ou réduisons des autorisations (+ ou -) et l'autorisation que nous voulons ajouter ou supprimer (rwx).

Si nous voulons ajouter ou supprimer des autorisations pour tout le monde, nous utilisons a au lieu de ugo (nous pouvons également utiliser ugo), maintenant, si vous souhaitez ajouter une autorisation d'exécution pour l'utilisateur et le groupe, vous pouvez taper :

chmod ug+x fichierforchmod

Vérifiez ensuite avec ls -l fileforchmod si les droits d'exécution ont été correctement ajoutés :

Pour modifier récursivement l'autorisation d'un répertoire, nous utiliserons le paramètre -R.

Créez tout d'abord un répertoire nommé directoryforchmod à l'aide de la commande :

répertoire mkdirforchmod

Entrez dans le répertoire à l'aide de la commande cd :

répertoire cdforchmod

Revenez en utilisant la commande :

CD…

Pour vérifier les droits du répertoire, nous devons ajouter un paramètre à ls. Taper:

ls -ld répertoireforchmod


Comme nous le voyons, le propriétaire a tous les droits, le groupe et les autres peuvent lire et exécuter mais ne peuvent pas écrire.
Supprimons maintenant les droits de lecture pour l'utilisateur, pour le faire taper :

chmod u-r répertoireforchmod

Comme nous le voyons après avoir lancé un nouveau ls -ld les autorisations de lecture ont été modifiées pour l'utilisateur.

Chmod permet à l'utilisation de gérer les autorisations différemment pour différentes destinations à la fois en utilisant la virgule, tapez :

chmod u+r,g-r,o-r répertoireforchmod

Comme on le voit après l'autre ls -ld les droits de lecture ont été restaurés pour l'utilisateur et supprimés pour le groupe et les autres.

Comme vous le voyez, la gestion des autorisations sous Linux est simple, il existe des commandes supplémentaires pour modifier les fichiers, le propriétaire et les groupes que nous enseignerons dans les futurs didacticiels.  J'espère que vous avez trouvé cet article sur chmod utile, continuez à suivre LinuxHint pour plus de conseils et de mises à jour sur Linux.

Comment utiliser Xdotool pour stimuler les clics de souris et les frappes sous Linux
Xdotool est un outil de ligne de commande gratuit et open source pour simuler les clics de souris et les frappes. Cet article couvrira un bref guide s...
Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...