GNU/Linux >> Tutoriels Linux >  >> Linux

Un gars Windows dans un monde Linux :utilisateurs et autorisations de fichiers

Si vous gérez Windows depuis un certain temps, vous avez probablement de l'expérience avec la gestion des comptes d'utilisateurs, le système de fichiers NTFS et la définition des autorisations. Si c'est le cas, préparez-vous à un monde différent avec les autorisations de fichiers Linux ! Sous Linux, le système de fichiers est un animal différent que vous devez apprendre à être un administrateur Linux compétent.

Ceci est la deuxième partie de notre série en quatre parties sur l'apprentissage de Linux du point de vue de l'administrateur Windows ! Assurez-vous de lire la partie I si vous ne l'avez pas déjà fait.

Travailler avec le système de fichiers

Voyons d'abord comment Linux stocke et gère les fichiers via le système de fichiers.

Remarque :tous les exemples utiliseront OpenSUSE Linux.

Plus de lettres de lecteur

Contrairement à Windows, les lecteurs amovibles et autres appareils ne le font pas obtenir automatiquement une lettre de lecteur et s'ouvrir au redémarrage. Sous Windows, chaque lecteur est monté en tant que lettre de lecteur :C:\ , D :\ , etc. Comment fonctionnent les lettres de lecteur sous Linux ? Il n'y en a pas !

Sous Linux, il existe un dossier appelé racine dossier. Ce dossier est situé à la racine du système de fichiers ou simplement / . La barre oblique est la première barre oblique avant tous les autres fichiers du système. Cette barre oblique est gentille comme la base C:\ , mais uniquement si les autres lettres de lecteur seulement existait en tant que sous-dossier de C:\ .

Le dossier racine est l'endroit où se trouvent les fichiers système de base. Tout le reste, y compris les autres appareils, est un sous-dossier de ce dossier central.

Linux brouille la frontière entre les dossiers et les systèmes de fichiers. Le répertoire Linux /home est la racine de tous les "profils" des utilisateurs similaires à C:\Users dossier dans Windows. Dans ce cas, /home est un directeur. Cependant, les "répertoires" sous Linux ne doivent pas nécessairement être des répertoires. Il peut également s'agir de partitions de stockage ou même d'un disque dur séparé. Ce concept est analogue aux points de montage Windows.

Vous pouvez en savoir plus sur les dossiers racine dans cet article.

Utilisateurs et dossiers personnels

Si vous utilisez OpenSUSE, vous remarquerez peut-être un Accueil dossier sur votre bureau comme indiqué ci-dessous. Ce dossier est la version Linux de C:\users\ dossier ou "profil". Le dossier Linux "users" se trouve sous /home sur votre disque d'installation par défaut.

Dans l'exemple ci-dessous, l'utilisateur s'appelle homelab avec un "profil" situé dans /home/homelab.

Sous Linux (et Windows), le dossier de départ (ou le profil utilisateur sous Windows) a une notation abrégée d'un tilde ( ~). Si vous voyez quelque chose comme "~/Documents/blah.txt , il fait en fait référence à votre /home//Documents/blah.txt fichier.

La capitalisation est tout dans Linux

Tout sous Linux est sensible à la casse. Ce concept est tout le contraire de Windows où presque rien n'est sensible à la casse.

Par exemple, si vous avez un répertoire appelé /home/homelab, un répertoire complètement différent peut être appelé /home/Homelab. Ce concept s'étend également aux commandes. Exécution de cd /home/homelab est différent de CD /home/homelab (ce qui devrait échouer).

En tant qu'utilisateur Windows, ce concept sera vous faire trébucher à un moment donné. Faites très attention à votre capitalisation ! Vous pouvez voir un exemple de deux dossiers séparés ci-dessous. La seule différence entre les deux est la capitalisation :dans un environnement Windows, ce n'est pas possible.

Comptes d'utilisateurs

Comme Windows, Linux a le concept de comptes d'utilisateurs mais ils se comportent un peu différemment. Commencez par penser aux comptes d'utilisateurs Linux en termes de vos comptes d'utilisateurs Windows habituels.

Windows a quelques comptes d'utilisateurs intégrés tels que Administrateur , le compte SYSTÈME masqué, Invité , etc. Windows dispose également de divers groupes de sécurité intégrés tels que les administrateurs , Invités , etc.

Vous pouvez afficher tous les utilisateurs et groupes Windows via la MMC Utilisateurs et groupes locaux en exécutant le lusrmgr.msc composant logiciel enfichable MMC.

SID Windows

Pour identifier de manière unique les utilisateurs et les groupes, Windows fait référence aux utilisateurs et aux groupes par quelque chose appelé le SID. Sous Windows, vous pouvez trouver le SID de chaque utilisateur et groupe en exécutant quelques commandes PowerShell ci-dessous.

Get-LocalUser | select name, sid
Get-LocalGroup | select name,sid

Chaque SID de groupe Windows est le même sur tous les ordinateurs Windows. L'utilisateur intégré SID s pour Windows sont uniques. Ce SID administrateur que vous voyez dans la capture d'écran ci-dessus devrait être différent sur chaque ordinateur Windows. Tout futur utilisateur ou groupe créé dans Windows sera unique. Remarquez ci-dessous le test groupe. Si vous vouliez créer un test groupe sur votre ordinateur Windows, le SID serait différent.

ID utilisateur Linux

D'un autre côté, Linux gère les utilisateurs et les groupes de la même manière, mais cette fois Linux n'utilise pas de SID mais des ID d'utilisateur (UID) et des ID de groupe (GID). Contrairement à Windows, les utilisateurs et les groupes sont uniques à l'ordinateur, mais pas uniques pour tous des ordinateurs. Cela signifie que votre UID sur l'ordinateur A peut être exactement le même UID sur l'ordinateur B, même s'il ne s'agit pas du même utilisateur.

Les UID et les GID suivent une convention numérique simple ; chaque UID et GUID commencent à 0 et s'incrémentent de un allant de 1 à 999 pour les comptes système internes et 1000+ pour les comptes utilisateur personnalisés.

L'utilisateur racine intégré toujours a un UID de 0 et un GID de 0. De plus, comme le compte système caché de Windows, ce compte racine est généralement (selon la distribution Linux) empêché de se connecter.

L'utilisateur root intégré est similaire aux comptes intégrés Windows SYSTEM et Administrator, en quelque sorte regroupés en un seul. Même si vous travaillez en tant qu'administrateur dans Windows, il existe toujours des protections intégrées pour vous empêcher de détruire complètement Windows.

L'utilisateur root, en revanche, est une autorité absolue. Si vous tombez volontairement dans l'utilisateur root (vous pouvez le faire sur la ligne de commande en utilisant la commande sudo su ) et essayez de supprimer tout votre système d'exploitation, root se fera un plaisir de le faire jusqu'à ce que le système meure.

Supposons que vous ayez créé un utilisateur appelé homelab . L'UID pour homelab pourrait alors être référencé soit par 1000 soit par homelab . L'utilisateur deviendra automatiquement membre du groupe interne users que vous pouvez référencer avec l'ID de groupe de 100. Vous pouvez trouver une liste de ces mappages en exécutant le getent passwd commande comme indiqué ci-dessous :

Vous pouvez également retrouver les mêmes informations que ci-dessus pour les groupes avec le getent group commande.

Autorisations de fichiers Linux

Dans un monde Windows, les autorisations de système de fichiers ne sont pas amusantes. La définition et la gestion des autorisations dans NTFS peuvent parfois se transformer en cauchemar avec ACE, les ACL, l'héritage, la propagation, etc. Heureusement, les autorisations du système de fichiers Linux sont beaucoup plus simples.

Sous Linux, vous disposez de trois types de droits que vous pouvez attribuer à un fichier :lecture, écriture et exécution avec trois catégories d'accès :propriétaire, groupe, autres.

  • owner est l'utilisateur qui possède le fichier/dossier. Chaque fichier ou dossier a un propriétaire désigné.
  • group est le groupe propriétaire du fichier/dossier. Il ne doit pas nécessairement s'agir du même groupe auquel appartient le propriétaire. Chaque fichier ou dossier ne peut appartenir qu'à un seul groupe.
  • les autres c'est… eh bien… les autres. Il s'agit de personnes qui ne font pas partie du groupe propriétaire ou qui ne sont pas le propriétaire désigné.

Vous pouvez autoriser ou refuser chaque option pour chaque catégorie. Par exemple :vous pouvez donner des options de lecture, d'écriture, d'exécution pour le propriétaire et des options de lecture/exécution pour le groupe et les autres. Vous pouvez le voir dans la capture d'écran ci-dessous. Cela signifie que n'importe qui en plus l'utilisateur propriétaire du dossier ne peut pas le modifier.

Tout comme l'explorateur Windows, dans Ubuntu, vous pouvez voir ces informations en procédant comme suit :

  1. Ouvrez votre dossier Accueil sur votre bureau.
  2. Naviguez jusqu'au fichier/dossier en question.
  3. Cliquez avec le bouton droit sur le fichier/dossier et cliquez sur Propriétés .
  4. Cliquez sur Autorisations onglet.
  5. Cliquez sur Autorisations avancées .

Une fois que vous êtes dans les autorisations avancées , vous pouvez voir graphiquement toutes les autorisations attribuées à ce fichier ou dossier.

Voici ce que les Autorisations avancées table représente.

Propriété du fichier

Comme Windows, chaque fichier et dossier a un propriétaire. Sous Windows, vous pouvez vous approprier un fichier dans l'interface graphique ou via le takeown commande. Sous Linux, vous en prenez possession en exécutant chown : sur la ligne de commande.

Comme Windows, vous avez généralement besoin d'une autorisation administrative pour modifier la propriété des fichiers à l'aide de sudo. sudo est l'équivalent Linux du contrôle de compte d'utilisateur (UAC) de Windows. Au lieu d'ouvrir une fenêtre de ligne de commande administrative, vous faites précéder les commandes de sudo pour qu'elles s'exécutent en tant qu'administrateur.

Créons un dossier qui est seulement appartenant à root pour illustrer certains de ces concepts.

  1. Ouvrez votre dossier personnel et accédez à Documents
  2. Ouvrez une invite de commande en clic droit -> Actions -> Ouvrir le terminal ici , et exécutez ce qui suit :
sudo mkdir owned-by-root
sudo chmod 700 owned-by-root

Ce dossier n'a que des autorisations de lecture/écriture/exécution pour le propriétaire. Étant donné que vous avez créé le dossier avec des droits d'administrateur, ce propriétaire est actuellement root.

Vous avez également modifié les autorisations pour seulement le propriétaire y a accès. Le groupe propriétaire et les autres utilisateurs ne peuvent pas du tout accéder à ce dossier. En fait, vous remarquerez que le dossier a un gros cadenas indiquant que vous n'y avez pas accès.

Ci-dessous, vous pouvez voir comment vous approprier ce dossier.

  1. Ouvrez un autre terminal dans ce même dossier (ou utilisez celui que vous aviez déjà)
  2. Exécuter sudo chown homelab:users ./owned-by-root

Maintenant que vous êtes propriétaire, vous pouvez également modifier les autorisations de fichier dans l'interface graphique de l'explorateur à l'aide de la fenêtre des propriétés.

Vous souhaitez (généralement) uniquement modifier les propriétaires, pas les autorisations de fichiers. Linux est assez bon pour savoir quelles autorisations les choses sont censées avoir par défaut. Vous pouvez vraiment gâcher les choses en "chmoding" sans en connaître les implications.

Notation numérique pour les autorisations de fichiers

Si vous avez fait tout Dépannage Linux, vous avez peut-être vu des personnes en ligne expliquer les autorisations de fichiers à l'aide d'un schéma de numérotation. Vous pouvez voir cela mis en évidence dans la capture d'écran ci-dessous :

Linux utilise une notation abrégée pour ce système d'accès en utilisant des nombres, comme 0600 . Le premier numéro correspond à certaines propriétés spéciales que vous pouvez ajouter, lesquelles personnes généralement ignorer. En fait, la plupart des gens n'utilisent que trois chiffres pour la notation et ignorent la quatrième en tête.

Pour plus d'informations sur la notation numérique des autorisations de fichiers, consultez cet article.

Conclusion

C'est tout pour la partie II de notre série d'articles de blog A Windows Guy in a Linux World ! Assurez-vous de continuer sur votre lancée avec la partie III !


Linux
  1. Comment configurer le serveur SAMBA et transférer des fichiers entre Linux et Windows

  2. Linux - Autorisation de fichier Exécuter uniquement ?

  3. Trucs et astuces Linux .htaccess

  4. Concepts d'autorisation de fichiers Linux

  5. Tableau des autorisations pour les types d'utilisateurs d'un fichier/répertoire et d'un système de fichiers

Autorisations et propriété des fichiers Linux expliquées avec des exemples

Comprendre les autorisations de fichiers Linux

Un gars Windows dans un monde Linux :VS Code et SSH distant

Un gars Windows dans un monde Linux :Configuration de la commande SSH sous Linux

Un gars Windows dans un monde Linux :YaST et le bureau

Comment convertir un fichier .pem en un fichier .ppk sous Windows et Linux