Comment utiliser les autorisations spéciales les bits setuid, setgid et collants
- 1849
- 574
- Jeanne Dupont
Objectif
Apprendre à savoir comment fonctionne les autorisations spéciales, comment les identifier et les définir.
Exigences
- Connaissance du système d'autorisations UNIX / Linux standard
Difficulté
FACILE
Conventions
- # - nécessite que les commandes Linux soient exécutées avec des privilèges racine
directement en tant qu'utilisateur racine ou en utilisantSudo
commande - $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier
Introduction
Normalement, sur un système d'exploitation de type Unix, la propriété des fichiers et répertoires est basée sur la valeur par défaut uid
(user-id) et gid
(Group-ID) de l'utilisateur qui les a créés. La même chose se produit lorsqu'un processus est lancé: il s'exécute avec l'id utilisateur et le groupe de groupe efficace de l'utilisateur qui l'a commencé, et avec les privilèges correspondants. Ce comportement peut être modifié en utilisant des autorisations spéciales.
Le bit setuid
Quand le setuid
Bit est utilisé, le comportement décrit ci-dessus est modifié de sorte que lorsqu'un exécutable est lancé, il ne fonctionne pas avec les privilèges de l'utilisateur qui l'a lancé, mais avec celui du propriétaire de fichier à la place. Ainsi, par exemple, si un exécutable a le setuid
Bit réglé dessus, et il appartient à Root, lorsqu'il est lancé par un utilisateur normal, il fonctionnera avec des privilèges racine. Il devrait être clair pourquoi cela représente un risque de sécurité potentiel, s'il n'est pas utilisé correctement.
Un exemple d'exécutable avec l'ensemble d'autorisation setuid est passage
, L'utilitaire que nous pouvons utiliser pour modifier notre mot de passe de connexion. Nous pouvons vérifier qu'en utilisant le LS
commande:
ls -l / bin / passwd -rwsr-xr-x. 1 racine racine 27768 11 février 2017 / bin / passwd
Comment identifier le setuid
bit? Comme vous l'avez sûrement remarqué en regardant la sortie de la commande ci-dessus, le setuid
le bit est représenté par un s
à la place du X
du bit exécutable. Le s
implique que le bit exécutable est défini, sinon vous verriez un capital S
. Cela se produit lorsque le setuid
ou setgid
Les bits sont définis, mais le bit exécutable n'est pas, montrant à l'utilisateur une incohérence: le setuid
et setgit
Les bits n'ont aucun effet si le bit exécutable n'est pas défini. Le bit setuid n'a aucun effet sur les répertoires.
Le bit setgid
Contrairement au setuid
peu, le setgid
Bit a un effet sur les fichiers et les répertoires. Dans le premier cas, le fichier qui a le setgid
Bit Set, lorsqu'il est exécuté, au lieu d'exécuter avec les privilèges du groupe de l'utilisateur qui l'a commencé, s'exécute avec ceux du groupe qui possède le fichier: en d'autres termes, l'ID de groupe du processus sera le même de celui de celle de le fichier.
Lorsqu'il est utilisé sur un répertoire, le setgid
Bit modifie le comportement standard afin que le groupe des fichiers créés à l'intérieur dudit répertoire ne soit pas celui de l'utilisateur qui les a créés, mais celui du répertoire parent lui-même. Ceci est souvent utilisé pour soulager le partage des fichiers (les fichiers seront modifiables par tous les utilisateurs qui font partie dudit groupe). Tout comme le setuid, le bit setgid peut facilement être repéré (dans ce cas sur un répertoire de test):
Test ls -ld drwxrwsr-x. 2 Egdoc Egdoc 4096 nov 1 17:25 Test
Cette fois le s
est présent à la place du bit exécutable sur le secteur du groupe.
Le peu collant
Le bit collant fonctionne d'une manière différente: bien qu'il n'ait aucun effet sur les fichiers, lorsqu'il est utilisé sur un répertoire, tous les fichiers dudit répertoire ne seront modifiables que par leurs propriétaires. Un cas typique dans lequel il est utilisé, implique le / tmp
annuaire. En règle générale, ce répertoire est écrite par tous les utilisateurs du système, donc pour rendre impossible un utilisateur à supprimer les fichiers d'un autre, le bit collant est défini:
$ ls -ld / tmp drwxrwxrwt. 14 Root Root 300 nov 1 16:48 / TMP
Dans ce cas, le propriétaire, le groupe et tous les autres utilisateurs ont des autorisations complètes sur le répertoire (lire, écrire et exécuter). Le bit collant est identifiable par un t
qui est rapporté où normalement l'exécutable X
Bit est montré, dans la section «autre». Encore une fois, une minuscule t
implique que le bit exécutable est également présent, sinon vous verriez un capital T
.
Comment définir des bits spéciaux
Tout comme les autorisations normales, les bits spéciaux peuvent être attribués avec le chod
commande, en utilisant le numérique ou le UGO / RWX
format. Dans le premier cas le setuid
, setgid
, et collant
Les bits sont représentés respectivement par une valeur de 4, 2 et 1. Ainsi par exemple si nous voulons définir le setgid
bit sur un répertoire que nous exécutions:
$ chmod 2775 Test
Avec cette commande, nous définissons le setgid
bit sur le répertoire, (identifié par le premier des quatre numéros), et a accordé des privilèges complets à son propriétaire et à l'utilisateur qui sont membres du groupe auquel appartient le répertoire, plus lire et exécuter l'autorisation pour tous les autres utilisateurs (N'oubliez pas que le bit d'exécution sur un répertoire signifie qu'un utilisateur est capable de CD
ou utiliser LS
Pour énumérer son contenu).
L'autre façon dont nous pouvons définir les bits d'autorisations spéciales est d'utiliser la syntaxe UGO / RWX:
$ chmod g + s test
Pour appliquer le setuid
Bit dans un fichier, nous aurions exécuté:
$ chmod u + s fichier
Tandis que pour appliquer le bit collant:
$ chmod o + t test
L'utilisation d'autorisations spéciales peut être très utile dans certaines situations, mais si elle n'est pas utilisée correctement, la peut introduire de graves vulnérabilités, alors réfléchissez à deux fois avant de les utiliser.
Tutoriels Linux connexes:
- Choses à installer sur Ubuntu 20.04
- Une introduction à l'automatisation Linux, des outils et des techniques
- Créer et configurer les répertoires Setgid pour la collaboration -…
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Comment créer Modifier et supprimer le compte des utilisateurs sur Linux
- Fichiers de configuration Linux: 30 premiers
- Mint 20: Mieux que Ubuntu et Microsoft Windows?
- Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
- Téléchargement Linux
- Comment doubler Kali Linux et Windows 10
- « Comment exécuter automatiquement le script shell au démarrage du démarrage sur Systemd Linux
- Comment mettre à niveau Debian 8 Jessie vers Debian 9 Stretch »