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:
rwxrwxrwxrwxrwxrwx
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).
-rwxrwxrwxou 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 -lDans 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 fichierforchmodVé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 :
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.