Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
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
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
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 ?