Ceci est un article classique écrit par Jack Wallen du Linux.com les archives. Pour plus d’excellents conseils et techniques sur SysAdmin, consultez notre cours d’introduction à Linux.
Bien qu’il existe déjà de nombreuses bonnes fonctionnalités de sécurité intégrées dans les systèmes Linux, une vulnérabilité potentielle très importante peut exister lorsque l’accès local est accordé – c’est-à-dire des problèmes liés aux autorisations de fichiers résultant du fait qu’un utilisateur n’attribue pas les autorisations correctes aux fichiers et répertoires. Donc, en fonction du besoin d’autorisations appropriées, je passerai en revue les moyens d’attribuer des autorisations et vous montrerai quelques exemples où une modification peut être nécessaire.
Groupes d’autorisations
Chaque fichier et répertoire a trois groupes d’autorisations basés sur l’utilisateur :
propriétaire – Les autorisations Propriétaire s’appliquent uniquement au propriétaire du fichier ou du répertoire, elles n’affecteront pas les actions des autres utilisateurs.grouper – Les autorisations de groupe s’appliquent uniquement au groupe qui a été attribué au fichier ou au répertoire, elles n’affecteront pas les actions des autres utilisateurs.tous les utilisateurs – Les autorisations Tous les utilisateurs s’appliquent à tous les autres utilisateurs du système, il s’agit du groupe d’autorisations que vous souhaitez le plus surveiller.
Types d’autorisation
Chaque fichier ou répertoire a trois types d’autorisation de base :
lire – L’autorisation de lecture fait référence à la capacité d’un utilisateur à lire le contenu du fichier.écrivez – Les autorisations d’écriture font référence à la capacité d’un utilisateur à écrire ou à modifier un fichier ou un répertoire.exécuter – L’autorisation d’exécution affecte la capacité d’un utilisateur à exécuter un fichier ou à afficher le contenu d’un répertoire.
Affichage des autorisations
Vous pouvez afficher les autorisations en vérifiant les autorisations de fichier ou de répertoire dans votre gestionnaire de fichiers GUI préféré (que je ne couvrirai pas ici) ou en examinant la sortie du « ls -l » commande dans le terminal et en travaillant dans le répertoire qui contient le fichier ou le dossier.
L’autorisation dans la ligne de commande s’affiche comme suit : _rwxrwxrwx 1 propriétaire:groupe
Droits d’utilisateur/Autorisations Le premier caractère que j’ai marqué d’un trait de soulignement est l’indicateur d’autorisation spéciale qui peut varier. L’ensemble suivant de trois caractères (rwx) est destiné aux autorisations du propriétaire. Le deuxième ensemble de trois caractères (rwx) est destiné aux autorisations de groupe .Le troisième ensemble de trois caractères (rwx) est destiné aux autorisations de tous les utilisateurs. Après ce regroupement, car l’entier/le nombre affiche le nombre de liens physiques vers le fichier. Le dernier élément est l’affectation du propriétaire et du groupe au format Owner:Group.
Modification des autorisations
Dans la ligne de commande, les autorisations sont modifiées à l’aide de la commande chmod. Vous pouvez attribuer les autorisations explicitement ou en utilisant une référence binaire comme décrit ci-dessous.
Définition explicite des autorisations
Pour définir explicitement des autorisations, vous devrez faire référence au groupe d’autorisations et aux types d’autorisations.
Les groupes d’autorisations utilisés sont :
vous – Propriétaireg – Groupero – Autresune – Tous les utilisateurs
Les opérateurs d’affectation potentiels sont + (plus) et – (moins) ; ceux-ci sont utilisés pour indiquer au système s’il faut ajouter ou supprimer les autorisations spécifiques.
Les types d’autorisation utilisés sont :
r – Lirew – ÉcrivezX – Exécuter
Ainsi, par exemple, disons que j’ai un fichier nommé file1 qui a actuellement les autorisations définies sur _rw_rw_rw, ce qui signifie que le propriétaire, le groupe et tous les utilisateurs ont des autorisations de lecture et d’écriture. Nous voulons maintenant supprimer les autorisations de lecture et d’écriture du groupe tous les utilisateurs.
Pour effectuer cette modification, vous invoqueriez la commande : chmod a-rw fichier1
Pour ajouter les autorisations ci-dessus, vous invoqueriez la commande : chmod a+rw fichier1
Comme vous pouvez le voir, si vous souhaitez accorder ces autorisations, vous devez remplacer le caractère moins par un plus pour ajouter ces autorisations.
Utilisation de références binaires pour définir des autorisations
Maintenant que vous comprenez les groupes d’autorisations et les types, celui-ci devrait vous sembler naturel. Pour définir l’autorisation à l’aide de références binaires, vous devez d’abord comprendre que la saisie se fait en entrant trois entiers/nombres.
Un exemple de chaîne d’autorisation serait chmod 640 fichier1, ce qui signifie que le propriétaire dispose d’autorisations de lecture et d’écriture, que le groupe dispose d’autorisations de lecture et que tous les autres utilisateurs n’ont aucun droit sur le fichier.
Le premier nombre représente l’autorisation du propriétaire ; le second représente les autorisations du Groupe ; et le dernier nombre représente les autorisations pour tous les autres utilisateurs. Les nombres sont une représentation binaire de la chaîne rwx.
r = 4w = 2X = 1
Vous ajoutez les nombres pour obtenir l’entier/le nombre représentant les autorisations que vous souhaitez définir. Vous devrez inclure les autorisations binaires pour chacun des trois groupes d’autorisations.
Donc, pour définir un fichier sur des autorisations sur file1 pour lire _rwxr_____, vous entreriez chmod 740 fichier1.
Propriétaires et groupes
J’ai fait plusieurs références aux propriétaires et groupes ci-dessus, mais je ne vous ai pas encore expliqué comment attribuer ou modifier le propriétaire et le groupe attribués à un fichier ou à un répertoire.
Vous utilisez la commande chown pour changer les affectations de propriétaire et de groupe, la syntaxe est simple
propriétaire chown:nom de fichier de groupe,
donc pour changer le propriétaire du fichier1 en utilisateur1 et le groupe en famille, vous entreriez utilisateur chown1:fichier de famille1.
Autorisations avancées
L’indicateur d’autorisations spéciales peut être marqué avec l’un des éléments suivants :
_ – pas d’autorisations spécialesré – annuaireje– Le fichier ou le répertoire est un lien symboliques – Cela indiquait les autorisations setuid/setgid. Ce paramètre n’est pas affiché dans la partie des autorisations spéciales de l’affichage des autorisations, mais est représenté sous la forme d’un s dans la partie lecture des autorisations du propriétaire ou du groupe.t – Cela indique les autorisations de bits persistants. Ce paramètre n’est pas affiché dans la partie des autorisations spéciales de l’affichage des autorisations, mais est représenté sous la forme d’un t dans la partie exécutable des autorisations de tous les utilisateurs
Autorisations spéciales Setuid/Setgid
Les autorisations setuid/setguid sont utilisées pour indiquer au système d’exécuter un exécutable en tant que propriétaire avec les autorisations du propriétaire.
Soyez prudent en utilisant les bits setuid/setgid dans les autorisations. Si vous attribuez de manière incorrecte des autorisations à un fichier appartenant à root avec le bit setuid/setgid défini, vous pouvez ouvrir votre système à une intrusion.
Vous ne pouvez affecter le bit setuid/setgid qu’en définissant explicitement des autorisations. Le caractère du bit setuid/setguid est s.
Donc, définissez le bit setuid/setguid sur file2.sh, vous lancerez la commande chmod g+s fichier2.sh.
Autorisations spéciales Sticky Bit
Le sticky bit peut être très utile dans un environnement partagé car lorsqu’il a été attribué aux autorisations sur un répertoire, il le définit de sorte que seul le propriétaire du fichier puisse renommer ou supprimer ledit fichier.
Vous ne pouvez affecter le sticky bit qu’en définissant explicitement des autorisations. Le caractère pour le bit collant est t.
Pour définir le bit collant sur un répertoire nommé dir1, vous devez exécuter la commande chmod +t dir1.
Quand les autorisations sont importantes
Pour certains utilisateurs d’ordinateurs Mac ou Windows, vous ne pensez pas aux autorisations, mais ces environnements ne se concentrent pas aussi agressivement sur les droits des utilisateurs sur les fichiers, sauf si vous êtes dans un environnement d’entreprise. Mais maintenant, vous utilisez un système basé sur Linux et la sécurité basée sur les autorisations est simplifiée et peut être facilement utilisée pour restreindre l’accès à votre guise.
Je vais donc vous montrer quelques documents et dossiers sur lesquels vous souhaitez vous concentrer et vous montrer comment définir les autorisations optimales.
répertoires personnels– Les répertoires personnels des utilisateurs sont importants car vous ne voulez pas que d’autres utilisateurs puissent afficher et modifier les fichiers dans les documents du bureau d’un autre utilisateur. Pour remédier à cela, vous voudrez que le répertoire ait le drwx______ (700) autorisations, alors disons que nous voulons appliquer les autorisations correctes sur le répertoire personnel de l’utilisateur user1 qui peut être fait en émettant la commande chmod 700 /home/user1.fichiers de configuration du chargeur de démarrage– Si vous décidez d’implémenter un mot de passe pour démarrer des systèmes d’exploitation spécifiques, vous souhaiterez supprimer les autorisations de lecture et d’écriture du fichier de configuration de tous les utilisateurs, à l’exception de root. Pour ce faire, vous pouvez modifier les autorisations du fichier en 700.fichiers de configuration système et démon– Il est très important de restreindre les droits sur les fichiers de configuration système et démon pour empêcher les utilisateurs de modifier le contenu, il n’est peut-être pas conseillé de restreindre les autorisations de lecture, mais la restriction des autorisations d’écriture est indispensable. Dans ces cas, il peut être préférable de modifier les droits à 644.scripts de pare-feu – Il n’est peut-être pas toujours nécessaire d’empêcher tous les utilisateurs de lire le fichier du pare-feu, mais il est conseillé d’empêcher les utilisateurs d’écrire dans le fichier. Dans ce cas, le script de pare-feu est exécuté automatiquement par l’utilisateur root au démarrage, de sorte que tous les autres utilisateurs n’ont besoin d’aucun droit, vous pouvez donc attribuer les 700 autorisations.
D’autres exemples peuvent être donnés, mais cet article est déjà très long, donc si vous souhaitez partager d’autres exemples de restrictions nécessaires, veuillez le faire dans les commentaires.
La poste Administrateur système classique : comprendre les autorisations de fichiers Linux est apparu en premier sur Fondation Linux.