Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
PS5, Sony bannit-il les utilisateurs qui utilisent le navigateur "caché" de la ...
[Actualités]
Test The Thing Remastered (PS5) - Une refonte du classique de 2002
[Actualités]
L'iPhone le plus fin de tous les temps sera aussi le moins cher : ce que l'on sa...
[Actualités]
Prise en charge multi-utilisateurs « simultanée » et couplage Bluetooth plus ...
[Actualités]
Microsoft étudie les options permettant à des tiers de créer des appareils de...
[Actualités]
Ouvrir votre porte d’entrée à l’aide de Face ID pourrait être un tournant...
[Actualités]
Instagram prépare aussi des vidéos d'IA, mais pas comme Sora : voici à quoi e...
[Actualités]
L'ordinateur portable enroulable de Lenovo sera probablement la star du CES !
[Actualités]
Mises à jour PowerToys (deux fois) : les espaces de travail deviennent encore p...
[Actualités]
Test Mario & Luigi - L'épopée fraternelle (Nintendo Switch) - Prêt à lever l'encre ?...
[Articles]
The Thing Remastered
[Articles]
Mario & Luigi : L'épopée fraternelle
[Articles]
Deel acquiert la plateforme mondiale de gestion de la rémunération Assemble
[Articles]
Xuan Yuan Sword: The Gate of Firmament
[Articles]
Cyber-sécurité : bilan 2024 et regard vers 2025 par Andy Garth, directeur Aff...
[Articles]
Diesel Legacy: The Brazen Age
[Articles]
FANTASIAN Neo Dimension
[Articles]
Fairy Tail 2
[Articles]
Réseaux sociaux inondés d'arnaques deepfake ; Formbook, voleur d'informations ...
[Articles]
Snow Bros. Wonderland
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] capabilities - Présentation des capacités Linux. [size=18] [b]Description[/b] [/size] Pour vérifier les permissions, les implémentations Unix traditionnelles distinguent deux catégories de processus : Les processus [i]privilégiés[/i] (dont l'UID effectif est nul, appelés Super-Utilisateur, ou root), et et les processus [i]non-privilégiés[/i] (dont l'UID effectif est non-nul). Les processus privilégiés contournent les vérifications de permissions du noyau, alors que les processus non-privilégiés sont soumis à une vérification complète basée sur l'identification du processus (habituellement : UID effectif, GID effectif, et liste des groupes). À partir du noyau 2.2, Linux propose un mécanisme (encore impcomplet) de [b]capacités ,[/b] qui scinde les privilèges traditionnement associés au Super-utilisateur en unités distinctes que l'on peut activer ou inhiber individuellement. [b]Liste des capacités[/b] Sous Linux 2.4.20, les capacités suivantes sont implémentées : [b]CAP_CHOWN[/b] [table][row][col] [/col][col]Permet de modifier arbitrairement les UID et GID des fichiers (voir [b]chown (2)).[/b][/col][/row][/table] [b]CAP_DAC_OVERRIDE[/b] [table][row][col] [/col][col]Contourne les permissions de lecture, écriture et exécution. (DAC = "discretionary access control", contrôle d'accès à volonté).[/col][/row][/table] [b]CAP_DAC_READ_SEARCH[/b] [table][row][col] [/col][col]Contourne les permissions de lecture de fichiers et celles de lecture et exécution des répertoires.[/col][/row][/table] [b]CAP_FOWNER[/b] [table][row][col] [/col][col]Contourne les vérifications pour les opérations qui demandent que le FS-UID du processus corresponde à l'UID du fichier (par exemple [b]utime (2)),[/b] à l'exclusion des opérations couvertes par les [b]CAP_DAC_OVERRIDE[/b] et [b]CAP_DAC_READ_SEARCH ;[/b] Ignorer le bit sticky pour supprimer un fichier.[/col][/row][/table] [b]CAP_FSETID[/b] [table][row][col] [/col][col]Ne pas effacer les bits Set-UID et Set-GID quand un fichier est modifié ; autoriser le positionnement du bit Set-GID sur un fichier dont le GID ne correspond à aucun GID du processus appelant.[/col][/row][/table] [b]CAP_IPC_LOCK[/b] [table][row][col] [/col][col]Permer le verrouillage de page mémoire [b]( mlock (2),[/b] [b]mlockall (2),[/b] [b]shmctl (2)).[/b][/col][/row][/table] [b]CAP_IPC_OWNER[/b] [table][row][col] [/col][col]Contourne les vérifications pour les opérations sur les IPC Système V.[/col][/row][/table] [b]CAP_KILL[/b] [table][row][col] [/col][col]Contourne les vérifications pour l'émission de signaux (voir [b]kill (2)).[/b][/col][/row][/table] [b]CAP_LEASE[/b] [table][row][col] [/col][col](Depuis Linux 2.4) Autorise la demande de bail sur n'importe quel fichier (voir [b]fcntl (2)).[/b][/col][/row][/table] [b]CAP_LINUX_IMMUTABLE[/b] [table][row][col] [/col][col]Autorise le positionnement des attributs étendus [b]EXT2_APPEND_FL[/b] et [b]EXT2_IMMUTABLE_FL[/b] du système de fichiers [b]ext2 .[/b][/col][/row][/table] [b]CAP_MKNOD[/b] [table][row][col] [/col][col](Depuis Linux 2.4) Autorise la création de fichiers spéciaux avec [b]mknod (2).[/b][/col][/row][/table] [b]CAP_NET_ADMIN[/b] [table][row][col] [/col][col]Permet certaines opérations résaeu (par ex. obtenir des options privilégiées sur les sockets, activer le multicast, configurer les interfaces, modifier les tables de routage).[/col][/row][/table] [b]CAP_NET_BIND_SERVICE[/b] [table][row][col] [/col][col]Autorise l'attachement d'une socket sur un port réservé (numéro de port inférieur à 1024).[/col][/row][/table] [b]CAP_NET_BROADCAST[/b] [table][row][col] [/col][col](Inutilisé) Permet le broadcast et l'écoute multicast sur les sockets.[/col][/row][/table] [b]CAP_NET_RAW[/b] [table][row][col] [/col][col]Autorise l'utilisation des sockets RAW et PACKET.[/col][/row][/table] [b]CAP_SETGID[/b] [table][row][col] [/col][col]Accès toute les manipulations des GID du processus et de la liste de groupes supplémentaires, permet l'utilisation de faux GID sur les socket Unix.[/col][/row][/table] [b]CAP_SETPCAP[/b] [table][row][col] [/col][col]Autorise le transfert de toutes capacités de l'ensemble des capacités autorisées de l'appelant à partir ou vers n'importe quel processus.[/col][/row][/table] [b]CAP_SETUID[/b] [table][row][col] [/col][col]Permer la manipulation arbitraire des UID du processus [b]( setuid (2)...)[/b] permet de transmettre un faux UID sur une socket dans le domaine Unix.[/col][/row][/table] [b]CAP_SYS_ADMIN[/b] [table][row][col] [/col][col]Autorise un ensemble d'opérations d'aministration système, comprenant : [b]quotactl (2),[/b] [b]mount (2),[/b] [b]swapon (2) ,[/b] [b]sethostname (2),[/b] [b]setdomainname (2),[/b] [b]IPC_SET[/b] et [b]IPC_RMID[/b] sur n'importe quel objet IPC Système V ; permet d'utiliser un faux UID pour les authentifications des sockets.[/col][/row][/table] [b]CAP_SYS_BOOT[/b] [table][row][col] [/col][col]Autorise l'appel [b]reboot (2).[/b][/col][/row][/table] [b]CAP_SYS_CHROOT[/b] [table][row][col] [/col][col]Autorise l'appel [b]chroot (2).[/b][/col][/row][/table] [b]CAP_SYS_MODULE[/b] [table][row][col] [/col][col]Permet le chargement ou le déchargement de modules du noyaux ; permet la modification des limitations de capacités.[/col][/row][/table] [b]CAP_SYS_NICE[/b] [table][row][col] [/col][col]Autorise la diminution de la courtoisie [b]( nice (2),[/b] [b]setpriority (2))[/b] et la modification de la valeur de courtoisie de n'importe quel processus ; autorise l'utilisation des ordonnancements temps-réel pour le processus appelant, et la modification de l'ordonnancement de n'importe quel processus. [b]( sched_setscheduler (2), sched_setparam (2)).[/b][/col][/row][/table] [b]CAP_SYS_PACCT[/b] [table][row][col] [/col][col]Autorise l'appel [b]acct (2).[/b][/col][/row][/table] [b]CAP_SYS_PTRACE[/b] [table][row][col] [/col][col]Permet de suivre n'importe quel processus avec [b]ptrace (2)[/b][/col][/row][/table] [b]CAP_SYS_RAWIO[/b] [table][row][col] [/col][col]Autorise les opérations d'entrées/sorties [b]( iopl (2)[/b] et [b]ioperm (2)).[/b][/col][/row][/table] [b]CAP_SYS_RESOURCE[/b] [table][row][col] [/col][col]Permet : l'utilisation de l'espace réservé sur un système ext2 ; l'appel [b]ioctl (2)[/b] pour configurer la journalisation ext3 ; le dépassement des quotas de disque ; l'augmentation des limites de ressources (voir [b]setrlimit (2));[/b] la surcharge de la limite [b]RLIMIT_NPROC ;[/b] l'augmentation de la limite [i]msg_qbytes[/i] pour une file de messages au-dessus de la limite dans [b]/proc/sys/kernel/msgmnb[/b] (voir [b]msgop (2)[/b] et [b]msgctl (2)).[/b][/col][/row][/table] [b]CAP_SYS_TIME[/b] [table][row][col] [/col][col]Autorise la modification de l'heure système [b]( settimeofday (2),[/b] [b]adjtimex (2)) ;[/b] permet la modification de l'horloge temps-réel (matérielle).[/col][/row][/table] [b]CAP_SYS_TTY_CONFIG[/b] [table][row][col] [/col][col]Autorise l'appel de [b]vhangup (2).[/b][/col][/row][/table] [b]Capacités dun processus[/b] Chaque processus a trois ensembles contenant zéro ou plus des capacités ci-dessus : [b]Effectif :[/b] [table][row][col] [/col][col]Les capacités utilisées par le noyau pour vérifier les permissions du processus.[/col][/row][/table] [b]Autorisé :[/b] [table][row][col] [/col][col]Les capacités auxquelles le processus peut accéder (un sur-ensemble limite pour les ensembles effectif et héritable). Si un processus supprime une capacité de son ensemble autorisé, il ne plus jamais la récupérer (sauf s'il exécute un programme Set-UID root).[/col][/row][/table] [b]Héritable :[/b] [table][row][col] [/col][col]les capacités qui sont conservées au cours d'un [b]execve (2).[/b][/col][/row][/table] Dans l'implémentation actuelle, un processus reçoit toutes les capacités dans ses ensembles autorisé et effectif (à travers les limites décrites ci-dessous) lorsqu'il exécute un programme Set-UID-root, ou si un processus avec un UID réel nul exécute un nouveau programme. Un enfant créé par [b]fork (2)[/b] reçoit une copie des ensembles de capacité de son père. En utilisant [b]capset (2),[/b] un processus peut manipuler ses propres ensembles, ou s'il a la capacité [b]CAP_SETPCAP ,[/b] celles d'un autre processus. [b]Limitation des des capacités[/b] Quand un programme est exécuté, les capacités effectives et autorisées sont filtrées par un ET binaire avec la valeur en cours de [b]la limitation des capacités ,[/b] définie dans le fichier [b]/proc/sys/kernel/cap-bound .[/b] Ce paramètre peut servir à fixer une limite au niveau système sur les capacités disponibles pour tous les programmes exécutés ultérieurement. (Le masque de bits est exprimé comme un nombre décimal signé dans [b]/proc/sys/kernel/cap-bound ,[/b] ce qui entretient les confusion). Seul le processus [b]init[/b] peut fixer l'ensemble des limitations ; sinon, le Super-Utilisateur peut uniquement effacer des bits dans cet ensemble. Sur un système standard, la limitation élimine toujours la capacité [b]CAP_SETPCAP .[/b] Pour supprimer cette restriction modifiez la définition de [b]CAP_INIT_EFF_SET[/b] dans [i]include/linux/capability.h[/i] et recompilez le noyau. [b]Implémentations actuelle et à venir[/b] Une implémentation complète des capacités réclame : 1. [table][row][col] [/col][col]que pour toutes les opérations privilégiées, le noyau vérifie que le processus dispose de la capacité nécessaire dans son ensemble effectif.[/col][/row][/table] 2. [table][row][col] [/col][col]que le noyau fournisse un appel-système permettant de changer et récupérer les ensembles de capacités d'un processus.[/col][/row][/table] 3. [table][row][col] [/col][col]le support du système de fichiers pour attacher des capacités aux fichiers exécutables, pour qu'un processus en dispose en lançant le programme.[/col][/row][/table] Sous Linux 2.4.20, seules les deux premières clauses sont remplies. Il pourrait même être possible d'associer trois ensembles de capacité avec un fichier exécutable, lesquels, en conjonction avec les ensembles de capacité du procesus, déterminera les capacités dont un processus disposera après un [b]exec :[/b] [b]Autorisé :[/b] [table][row][col] [/col][col]ce ensemble est combiné par un ET avec l'ensemble héritable du processus pour savoir quelles capacités seront héritées après l'appel exec().[/col][/row][/table] [b]Forcé :[/b] [table][row][col] [/col][col]les capacités automatiquement fournies au processus, quelques soient ses capacités héritables.[/col][/row][/table] [b]Effectif :[/b] [table][row][col] [/col][col]les capacités qui du nouvel ensemble autorisé seront aussi placées dans l'ensemble effectif. (F(effectif) est normalement entièrement composé de zéros ou de uns).[/col][/row][/table] En attendant, comme l'implémentation actuelle ne supporte pas les ensemble de capacités sur les fichiers, au cours d'un exec : 1. [table][row][col] [/col][col]Les trois ensembles du fichier sont supposés vides.[/col][/row][/table] 2. [table][row][col] [/col][col]Si on exécute un programme Set-UID root, ou si l'UID réel est nul, alors les ensembles Forcé et Autorisé du fichier sont remplis de uns (toutes les capacités activées).[/col][/row][/table] 3. [table][row][col] [/col][col]Si un programme Set-UID root est exécuté, alors l'ensemble effectif du fichier est rempli avec des uns.[/col][/row][/table] Durant un exec(), le noyau calcule les nouvelles capacités du processus en utilisant l'algorithme suivant : .in +4 .nf P'(autorisé) = (P(héritable) & F(autorisé) | (F(forcé) & cap_bset) P'(effectif) = P'(autorisé) & F(effectif) P'(héritable) = P(héritable) [inchangé] .fi .in -4 avec : P 10 [table][row][col] [/col][col]indique la valeur d'une capacité du processus avant le exec()[/col][/row][/table] P' 10 [table][row][col] [/col][col]indique la valeur d'une capacité du processus après le exec()[/col][/row][/table] F 10 [table][row][col] [/col][col]indique la valeur d'une capacité du fichier[/col][/row][/table] cap_bset 10 [table][row][col] [/col][col]est la valeur de la limitation de capacité.[/col][/row][/table] [size=18] [b]Notes[/b] [/size] Le paquetage [i]libcap[/i] fournit un ensemble de routines pour écrire et lire les capacités d'un processus, de manière plus simple et moins susceptible de changer que l'interface fournie par [b]capset (2)[/b] et [b]capget (2).[/b] [size=18] [b]Conformité[/b] [/size] Il n'y a pas de véritable standard pour les capacités, mais l'implémentation Linux est basé sur une interprétation du projet POSIX 1003.1e. [size=18] [b]Bugs[/b] [/size] Il n'y a pas encore de support dans le système de fichiers permettant d'associer les capacités et les fichiers exécutables. [size=18] [b]Voir aussi[/b] [/size] [b]capget (2),[/b] [b]prctl (2)[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Consoles
PS5, Sony bannit-il les utilisateurs qui utilisent le navigateur "caché" de la console ?
Jeux Vidéos
Test The Thing Remastered (PS5) - Une refonte du classique de 2002
Apple
L'iPhone le plus fin de tous les temps sera aussi le moins cher : ce que l'on sait de l'iPhone 17 Air
Android
Prise en charge multi-utilisateurs « simultanée » et couplage Bluetooth plus facile : nouveautés d'Android Automotive
Microsoft
Microsoft étudie les options permettant à des tiers de créer des appareils de marque Xbox, éventuellement avec le système d'exploitation Xbox
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?