<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fr-wiki.ikoula.com/index.php?action=history&amp;feed=atom&amp;title=Linux_capabilities_-_Ping_Operation_not_permitted</id>
	<title>Linux capabilities - Ping Operation not permitted - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://fr-wiki.ikoula.com/index.php?action=history&amp;feed=atom&amp;title=Linux_capabilities_-_Ping_Operation_not_permitted"/>
	<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Linux_capabilities_-_Ping_Operation_not_permitted&amp;action=history"/>
	<updated>2026-04-10T21:07:18Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Linux_capabilities_-_Ping_Operation_not_permitted&amp;diff=30228&amp;oldid=prev</id>
		<title>Mgrelet794f6 : Page créée avec « &lt;span data-link_translate=&quot;he&quot;&gt;&lt;/span&gt;&lt;span data-link_translate=&quot;ro&quot;&gt;&lt;/span&gt;&lt;span data-link_translate=&quot;ru&quot;&gt;&lt;/span&gt;&lt;span data-link_translate=&quot;pl&quot;&gt;&lt;/span&gt;&lt;span data-link_tra... »</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Linux_capabilities_-_Ping_Operation_not_permitted&amp;diff=30228&amp;oldid=prev"/>
		<updated>2021-03-19T11:01:03Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_tra... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;he&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ru&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ja&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;zh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;ro&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;nl&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;it&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;pt&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;es&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span data-link_translate=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
La gestion des capabilities est un mécanisme de sécurité du noyau Linux afin d'assurer un confinement d’exécution des applications s’exécutant sur le système, ce en affinant les possibilités d'appliquer le principe du moindre privilège.&amp;lt;br&amp;gt;&lt;br /&gt;
Nous allons voir comment manipuler les capabilities, c'est-à-dire donner quelques privilèges à un exécutable afin qu'il ne tourne pas avec l'identité root.&lt;br /&gt;
&lt;br /&gt;
==Déroulé== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Dans notre exemple nous prendrons la commande '''ping''', voici le résultat avec un utilisateur non-root :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ping www.ikoula.com&lt;br /&gt;
ping: icmp open socket: Operation not permitted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En tant que root, nous allons ajouter la capacité ''cap_net_raw'' dans les sets ''Permitted'' et ''Effective'' '''(pe)''' du binaire ping.&amp;lt;br&amp;gt;&lt;br /&gt;
Cet ajout se fait avec la commande '''setcap''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# setcap cap_net_raw=pe /bin/ping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons vérifier avec la commande '''getcap''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# getcap /bin/ping&lt;br /&gt;
/bin/ping = cap_net_raw+ep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testons maintenant avec notre utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ping -c 1 www.ikoula.com&lt;br /&gt;
PING www.ikoula.com (109.238.9.4) 56(84) bytes of data.&lt;br /&gt;
64 bytes from www.ikoula.com (109.238.9.4): icmp_seq=1 ttl=120 time=14.2 ms&lt;br /&gt;
&lt;br /&gt;
--- www.ikoula.com ping statistics ---&lt;br /&gt;
1 packets transmitted, 1 received, 0% packet loss, time 0ms&lt;br /&gt;
rtt min/avg/max/mdev = 14.192/14.192/14.192/0.000 ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre utilisateur peut désormais utiliser la commande '''ping'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Le problème est que la capability ''cap_net_raw'' de '''ping''' est appliquée pour tous nos utilisateurs.&amp;lt;br&amp;gt;&lt;br /&gt;
En effet, nous avons placé la capability dans le set ''Permitted'' et nous l'avons activée dans le set ''Effective''.&amp;lt;br&amp;gt;&lt;br /&gt;
De cette façon, '''ping''' s’exécutera de la même manière quelque soit l'utilisateur non-root qui appelle le binaire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de pousser la restriction au niveau utilisateur,  nous allons placer des capabilities à activer pour un utilisateur donné dans le set ''Inheritable'' du processus de son shell.&amp;lt;br&amp;gt;&lt;br /&gt;
Vérifions les valeurs par défaut de notre utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /sbin/getpcaps $$&lt;br /&gt;
Capabilities for `87903': =&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La commande '''getpcaps''' suivie du PID affiche les capabilities du processus attaché au PID, la variable '''$$''' renvoie le PID du shell en cours d'exécution, dans notre cas ''87903''.&amp;lt;br&amp;gt;&lt;br /&gt;
On peut voir que notre utilisateur n'a aucune capabilities d'ajoutées par défaut.&lt;br /&gt;
&lt;br /&gt;
En tant que root, nous allons ajouter capability ''cap_net_raw'' au set ''Inheritable'' du shell de notre utilisateur dans le fichier '''/etc/security/capability.conf''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cap_net_raw nom_de_votre_utilisateur&lt;br /&gt;
none *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vérifions ensuite avec notre utilisateur :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /sbin/getpcaps $$&lt;br /&gt;
Capabilities for `87903': = cap_net_raw+i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En tant que root, nous allons modifier les capabilities positionnées le set ''Inheritable'' sur le binaire '''ping''' :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# setcap cap_net_raw=ie /bin/ping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vérifions :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# getcap /bin/ping&lt;br /&gt;
/bin/ping = cap_net_raw+ei&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous pouvez désormais utiliser la commande '''ping''' avec votre utilisateur voulu sans que les autres utilisateurs puissent l'utiliser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Commentaire --&amp;gt;&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Placez ci-dessous la ou les catégories auxquelles se rapporte votre article. Ex: [[Catégorie:Linux]] --&amp;gt;&lt;br /&gt;
[[Catégorie:Linux]]&lt;/div&gt;</summary>
		<author><name>Mgrelet794f6</name></author>
	</entry>
</feed>