<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yoann Gini &#187; UNIX</title>
	<atom:link href="http://blog.inig-services.com/sujets/unix/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.inig-services.com</link>
	<description>iNig-Services</description>
	<lastBuildDate>Wed, 25 Aug 2010 15:31:03 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Dialogue avec interface série sur un Mac</title>
		<link>http://blog.inig-services.com/archives/378</link>
		<comments>http://blog.inig-services.com/archives/378#comments</comments>
		<pubDate>Tue, 29 Jun 2010 21:09:24 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=378</guid>
		<description><![CDATA[Pour information, Jacques viens de sortir un petit article sur comment utiliser un port de communication série avec un Mac. L&#8217;intérêt de ce genre de manip est multiple, communiqué avec une baie Promise, un routeur Cisco, un Serveur, etc.]]></description>
			<content:encoded><![CDATA[<p>Pour information, Jacques viens de sortir un petit article sur <a href="http://adminblog.foucry.net/?p=702" target="_blank">comment utiliser un port de communication série avec un Mac</a>.</p>
<p>L&#8217;intérêt de ce genre de manip est multiple, communiqué avec une baie Promise, un routeur Cisco, un Serveur, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/378/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wide Area Bonjour &#8211; Authentification des clients par secret partagé</title>
		<link>http://blog.inig-services.com/archives/307</link>
		<comments>http://blog.inig-services.com/archives/307#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:52:50 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bonjour]]></category>
		<category><![CDATA[BWA]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[WAB]]></category>
		<category><![CDATA[Wide Area]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=307</guid>
		<description><![CDATA[Dans les précédents articles, nous avons vu comment mettre en place une zone WAB en lecture seule puis comment rendre cette même zone disponible en lecture/écriture pour que nos clients puissent enregistrer leurs services et enfin nous avons vu une petite astuce pour faire en sorte que cette zone contienne le plus d&#8217;informations possible. Voyons [...]]]></description>
			<content:encoded><![CDATA[<p>Dans les précédents articles, nous avons vu comment<a href="http://blog.inig-services.com/archives/261" target="_blank"> mettre en place une zone WAB en lecture seule</a> puis comment <a href="http://blog.inig-services.com/archives/275" target="_blank">rendre cette même zone disponible en lecture/écriture</a> pour que nos clients puissent enregistrer leurs services et enfin nous avons vu une petite astuce pour <a href="http://blog.inig-services.com/archives/299" target="_blank">faire en sorte que cette zone contienne le plus d&#8217;informations possible</a>.</p>
<p>Voyons voir maintenant comment faire en sorte que l&#8217;écriture sur cette zone soit protégée par un secret partagé.</p>
<p><span id="more-307"></span></p>
<p><a href="http://blog.inig-services.com/archives/337" target="_self">English version</a></p>
<p>Vous vous souvenez certainement que dans le deuxième article de cette série nous avions utilisé une ligne de commande pour faire en sorte que la clef bonjourRegistration de notre zone WAB prenne la valeur open. Nous allons maintenant modifier cette valeur pour la mettre à secure.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">17</span> <span style="color: #000000; font-weight: bold;">%</span> serveradmin settings dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:bonjourRegistration = <span style="color: #ff0000;">&quot;secure&quot;</span></pre></div></div>

<p>Cette commande à un effet sur le fichier /etc/dns/publicView.conf.apple qui contient la définition de nos domaines géré. Regarder votre zone WAB, elle devrait ressembler à ceci :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">	zone <span style="color: #ff0000;">&quot;bonjour.office.inig-services.com.&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
		<span style="color: #7a0874; font-weight: bold;">type</span> master;
		<span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #ff0000;">&quot;db.bonjour.office.inig-services.com.&quot;</span>;
		allow-transfer <span style="color: #7a0874; font-weight: bold;">&#123;</span>none;<span style="color: #7a0874; font-weight: bold;">&#125;</span>;
		allow-update <span style="color: #7a0874; font-weight: bold;">&#123;</span>key com.apple.ServerAdmin.DNS.bonjour.sharedSecret;<span style="color: #7a0874; font-weight: bold;">&#125;</span>;
	<span style="color: #7a0874; font-weight: bold;">&#125;</span>;</pre></div></div>

<p>L&#8217;intéressant ici se trouve sur la ligne allow-update qui est réglé par Server Admin pour utiliser uniquement la clef com.apple.ServerAdmin.DNS.bonjour.sharedSecret. Il nous reste donc à définir cette clef puis à la transmettre sur nos clients.</p>
<p>Pour définir cette clef, l&#8217;outil à utiliser en ligne de commande est <em>rndc-confgen</em>, il va également falloir lui indiquer où stocker la clef, pour ma part j&#8217;ai choisi <strong>/etc/dns/bonjour.key</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">27</span> <span style="color: #000000; font-weight: bold;">%</span> rndc-confgen <span style="color: #660033;">-a</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>dns<span style="color: #000000; font-weight: bold;">/</span>bonjour.key <span style="color: #660033;">-k</span> com.apple.ServerAdmin.DNS.bonjour.sharedSecret</pre></div></div>

<p>Si vous regardez le contenue de ce fichier vous devez avoir quelque chose de ce genre :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">key <span style="color: #ff0000;">&quot;com.apple.ServerAdmin.DNS.bonjour.sharedSecret&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	algorithm hmac-md5;
	secret <span style="color: #ff0000;">&quot;lasZZ9TN+AILCl+TpNgUiw==&quot;</span>;
<span style="color: #7a0874; font-weight: bold;">&#125;</span>;</pre></div></div>

<p>Notez donc le secret entre guillemets, il vous servira sur les machines clients.</p>
<p>Cette clef étant générée, il reste à indiquer à Bind où elle se trouve, pour cela nous allons modifier le fichier /etc/named.conf pour faire en sorte que le début ressemble à cela :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">//</span>
<span style="color: #000000; font-weight: bold;">//</span> Include keys <span style="color: #c20cb9; font-weight: bold;">file</span>
<span style="color: #000000; font-weight: bold;">//</span>
include <span style="color: #ff0000;">&quot;/etc/rndc.key&quot;</span>;
include <span style="color: #ff0000;">&quot;/etc/dns/bonjour.key&quot;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">//</span> ...</pre></div></div>

<p>Il ne vous reste plus qu&#8217;à redémarrer le service DNS :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">33</span> <span style="color: #000000; font-weight: bold;">%</span> serveradmin stop dns <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; serveradmin start dns</pre></div></div>

<p>Il nous reste ici à configurer les machines clientes, rendez-vous dans les préférences systèmes, section partage pour aller configurer l&#8217;enregistrement WAB de votre client en utilisant <strong>com.apple.ServerAdmin.DNS.bonjour.sharedSecret</strong> comme nom d&#8217;utilisateur et l<strong>asZZ9TN+AILCl+TpNgUiw==</strong> comme mot de passe.</p>
<p>Vous savez déjà comment vérifier que votre zone fonctionne, Bonjour Browser est votre ami :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/307/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wide Area Bonjour &#8211; Un peu plus loin dans l&#8217;enregistrement</title>
		<link>http://blog.inig-services.com/archives/299</link>
		<comments>http://blog.inig-services.com/archives/299#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:17:44 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bonjour]]></category>
		<category><![CDATA[BWA]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[WAB]]></category>
		<category><![CDATA[Wide Area]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=299</guid>
		<description><![CDATA[Nous savons comment mettre en place une zone DNS pour le WAB, ce petit article a pour objet de compléter un petit peu votre configuration pour faire en sorte qu&#8217;un maximum de service s&#8217;enregistre sur votre WAB. English version Pour commencer, une petite explication de ce qu&#8217;est l&#8217;implémentation de Bonjour en tant que développeur (l&#8217;activité [...]]]></description>
			<content:encoded><![CDATA[<p>Nous savons comment mettre en place une zone DNS pour le WAB, ce petit article a pour objet de compléter un petit peu votre configuration pour faire en sorte qu&#8217;un maximum de service s&#8217;enregistre sur votre WAB.</p>
<p><span id="more-299"></span></p>
<p><a href="http://blog.inig-services.com/archives/337" target="_self">English version</a></p>
<p>Pour commencer, une petite explication de ce qu&#8217;est l&#8217;implémentation de Bonjour en tant que développeur (l&#8217;activité de développement d&#8217;application Mac/iPhone compte pour un tiers de mon activité, je pense pouvoir vous en parler).</p>
<p>Quand on crée une application Mac et que l&#8217;on souhaite utiliser Bonjour pour la découverte du réseau la chose est plutôt simple. Il nous suffit de donner un nom unique pour le service (avec le type de communication utilisée), _http._tcp par exemple puis de demander un enregistrement (ou une recherche) sur un domaine. Ce domaine peut être <em>local</em> pour se limiter au Bonjour local ou, tel que le conseil la documentation, une chaîne de caractères vide. Ce dernier choix, pris par beaucoup de développeur, permet de laisser le système choisir quelle est la meilleur zone d&#8217;enregistrement Bonjour.</p>
<p>La question est de savoir comment est choisi la meilleure zone. C&#8217;est très simple, par défaut c&#8217;est la zone locale, sauf si une autre zone est définie comme zone par défaut (dans ce cas l&#8217;enregistrement est fait dans les deux, la locale et la supplémentaire).</p>
<p>Pourquoi savoir tout cela ? Si comme moi, vous avez des logiciels (dont je ne citerais pas le nom) qui ne fonctionne qu&#8217;avec du Bonjour, où vous n&#8217;avez pas la possibilité de rentrer votre serveur à la main (ce qui à mon sens est un logiciel mal développé), vous rencontrerez des problèmes si vous utilisez ces logiciels dans un grand réseau ou avec du VPN.</p>
<p>L&#8217;idée sera donc ici de faire en sorte que la majorité des logiciels (ceux laissant le système choisir la zone) utilise notre zone WAB. À vrai dire, seul certains services s&#8217;enregistrent sur les zone &laquo;&nbsp;secondaire&nbsp;&raquo;.</p>
<p>Ré-ouvrez donc votre terminal sur votre serveur pour aller rajouter quelques lignes sur le fichier de configuration statique de votre zone de recherche par défaut, pour ma part c&#8217;est <strong>/var/named/db.office.inig-services.com.</strong></p>
<p>Nous avions déjà fait des modifications dans ce fichier pour y spécifier la délégation de zone pour le WAB, nous allons y rajouter trois lignes pour arriver à ceci :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">;THE FOLLOWING INCLUDE WAS ADDED BY SERVER ADMIN. PLEASE DO NOT REMOVE.
<span style="color: #007800;">$INCLUDE</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>named<span style="color: #000000; font-weight: bold;">/</span>zones<span style="color: #000000; font-weight: bold;">/</span>db.office.inig-services.com.zone.apple
&nbsp;
db._dns-sd._udp IN  PTR bonjour.office.inig-services.com.
r._dns-sd._udp IN  PTR bonjour.office.inig-services.com.
dr._dns-sd._udp IN  PTR bonjour.office.inig-services.com. 
&nbsp;
bonjour.office.inig-services.com. <span style="color: #000000;">86400</span> IN NS office.inig-services.com.</pre></div></div>

<p>Examinons cela avec la documentation <a href="http://www.dns-sd.org/ServerSetup.html" target="_blank"> dns-sd.org</a> :</p>
<ul>
<li>db._dns-sd permet de définir notre domaine comme domaine de recherche Bonjour par défaut</li>
<li>r._dns-sd permet de marquer notre domaine comme domaine d&#8217;enregistrement potenitel</li>
<li>dr._dns-sd quant à lui permet de définir notre domaine comme domaine d&#8217;enregistrement par défaut</li>
</ul>
<p>D&#8217;autre part, le fait d&#8217;activer la zone WAB dans Server Admin dans le premier article à rajouté deux entrées à tout vos domaines :</p>
<ul>
<li>b._dns-sd pour signaler votre domaine comme domaine de recherche potentiel</li>
<li>lb._dns-sd pour que les clients utilisent votre domaine en complément du local (et ainsi forcer toutes les applications à lire son contenue)</li>
</ul>
<p>Ceci étant fait, il ne reste plus qu&#8217;à redémarrer les services qui utilisent Bonjour.</p>
<p>Et voilà une grosse partie des logiciels que vous utilisez sont accessibles à travers votre VPN !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/299/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wide Area Bonjour &#8211; Une zone modifiable par tous</title>
		<link>http://blog.inig-services.com/archives/275</link>
		<comments>http://blog.inig-services.com/archives/275#comments</comments>
		<pubDate>Sun, 17 Jan 2010 17:19:35 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bonjour]]></category>
		<category><![CDATA[BWA]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[WAB]]></category>
		<category><![CDATA[Wide Area]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=275</guid>
		<description><![CDATA[Nous avons vu dans un précédant article qu&#8217;il est très simple de mettre en place une zone WAB avec des données statiques. Intéressons-nous maintenant à la remontée d&#8217;informations des postes clients, ou comment faire en sorte que nos machines inscrivent d&#8217;elles-mêmes leurs informations dans notre zone WAB en même temps qu&#8217;elles publient leurs informations sur [...]]]></description>
			<content:encoded><![CDATA[<p>Nous avons vu dans un <a href="http://blog.inig-services.com/archives/261" target="_blank">précédant article</a> qu&#8217;il est très simple de mettre en place une zone WAB avec des données statiques. Intéressons-nous maintenant à la remontée d&#8217;informations des postes clients, ou comment faire en sorte que nos machines inscrivent d&#8217;elles-mêmes leurs informations dans notre zone WAB en même temps qu&#8217;elles publient leurs informations sur le Bonjour local.</p>
<p><span id="more-275"></span></p>
<p><a href="http://blog.inig-services.com/archives/337" target="_self">English version</a></p>
<p>Les manipulations que nous allons voir ici considère que vous avez déjà mis en place votre zone WAB avec des informations statiques comment vu dans <a href="http://blog.inig-services.com/archives/261" target="_blank">l&#8217;article précédent</a>. Nous allons simplement préparer cette zone pour accueillir des mises à jour d&#8217;informations de la part des clients sans aucune authentification. Ce sera donc une zone WAB ouvert.</p>
<p>Apple nous facilite grandement le travail aujourd&#8217;hui, un peu d&#8217;analyse sur les outils d&#8217;OS X Server et d&#8217;intuition montre comment faire. Regardons sur notre serveur les paramètres du serveur dns via la ligne de commande :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">30</span> <span style="color: #000000; font-weight: bold;">%</span> serveradmin settings dns
dns:loggingLevel = <span style="color: #ff0000;">&quot;info&quot;</span>
dns:forwarders:_array_index:<span style="color: #000000;">0</span> = <span style="color: #ff0000;">&quot;8.8.4.4&quot;</span>
dns:forwarders:_array_index:<span style="color: #000000;">1</span> = <span style="color: #ff0000;">&quot;8.8.8.8&quot;</span>
dns:acls:_array_index:<span style="color: #000000;">0</span>:addressMatchList:_array_index:<span style="color: #000000;">0</span> = <span style="color: #ff0000;">&quot;localnets&quot;</span>
dns:acls:_array_index:<span style="color: #000000;">0</span>:name = <span style="color: #ff0000;">&quot;com.apple.ServerAdmin.DNS.public&quot;</span>
dns:isBonjourClientBrowsingEnabled = <span style="color: #c20cb9; font-weight: bold;">yes</span>
...
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serial = <span style="color: #ff0000;">&quot;2010011704&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:expire = <span style="color: #000000;">3600</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:refresh = <span style="color: #000000;">3600</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:nameservers:_array_index:<span style="color: #000000;">0</span>:name = <span style="color: #ff0000;">&quot;bonjour.office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:nameservers:_array_index:<span style="color: #000000;">0</span>:value = <span style="color: #ff0000;">&quot;office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:negativeTimeToLive = <span style="color: #000000;">345600</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:adminEmail = <span style="color: #ff0000;">&quot;admin@bonjour.office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:allowZoneTransfer = no
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:selfResolvingHostname = <span style="color: #ff0000;">&quot;0&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:name = <span style="color: #ff0000;">&quot;bonjour.office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:reverseMappings:_array_index:<span style="color: #000000;">0</span>:value = <span style="color: #ff0000;">&quot;Office._http._tcp.bonjour.office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:reverseMappings:_array_index:<span style="color: #000000;">0</span>:ipAddress = <span style="color: #ff0000;">&quot;_http._tcp&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:weight = <span style="color: #000000;">0</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:port = <span style="color: #000000;">80</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:serviceType = <span style="color: #ff0000;">&quot;_http._tcp&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:instanceName = <span style="color: #ff0000;">&quot;Office&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:host = <span style="color: #ff0000;">&quot;office.inig-services.com.&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:priority = <span style="color: #000000;">0</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:serviceRecords:_array_index:<span style="color: #000000;">0</span>:txt = <span style="color: #ff0000;">&quot;path=/&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:timeToLive = <span style="color: #000000;">3600</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:retry = <span style="color: #000000;">3600</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:bonjourRegistration = <span style="color: #ff0000;">&quot;off&quot;</span>
dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:allow-update = <span style="color: #ff0000;">&quot;none;&quot;</span>
...</pre></div></div>

<p>On retrouve ici les informations de notre zone bonjour.office.inig-services.com stocké d&#8217;une manière un peu spéciale : dns:views:_array_id:2:primaryZones:_array_id::</p>
<p>Peut importe ce que ça représente, faites attention à utiliser les bonnes valeurs.</p>
<p>Vous avez peut-être remarqué qu&#8217;il y a une valeur dont le nom est <strong>bonjourRegistration</strong> et qui est à <em>off</em> pour le moment, nous allons tout simplement passer cette valeur à <em>open</em> pour que Server Admin configure pour nous les différents outils permettant la mise à jour de la zone par tous les clients.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span> <span style="color: #000000; font-weight: bold;">%</span> serveradmin settings dns:views:_array_id:2247116D-446D-<span style="color: #000000;">4254</span>-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-<span style="color: #000000;">4679</span>-9EA0-CCEDB87FF11F:bonjourRegistration = <span style="color: #ff0000;">&quot;open&quot;</span></pre></div></div>

<p>À la fin de cette commande vous devriez avoir un nouveau fichier dans <strong>/etc/dns</strong> qui se nomme dnsextd.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>office <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">40</span> <span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>dns
total <span style="color: #000000;">32</span>
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">1</span> root  wheel   204B Jan <span style="color: #000000;">17</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span> dnsextd.conf.apple
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">1</span> root  wheel   130B Jan <span style="color: #000000;">17</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span> loggingOptions.conf.apple
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">1</span> root  wheel   324B Jan <span style="color: #000000;">17</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span> options.conf.apple
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">1</span> root  wheel   1.3K Jan <span style="color: #000000;">17</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span> publicView.conf.apple</pre></div></div>

<p>dnsextd est un démon se chargeant de la communication entre les clients et le serveur DNS.</p>
<p>On voit également que les autres fichiers ont été modifiés, Server Admin y a en effet rajouté toutes les informations nécessaires au bon fonctionnement du WAB.</p>
<p>Notre serveur est maintenant prêt à accueillir les informations de nos clients, il ne reste plus qu&#8217;à dire à nos machines qu&#8217;elles peuvent s&#8217;enregistrer et sous quel nom.</p>
<p>Pour cela nous allons dans les Préférences Système de notre Mac OS X Client puis dans la section Partage. Dans le panneau de gestion de services de partage vous trouverez en haut le champ permettant de modifier le nom de votre machine ainsi qu&#8217;un bouton modifier sur lequel vous allez cliquer, il permet de modifier les informations Bonjour.</p>
<p>Un panel apparait, cochez la case &laquo;&nbsp;Utiliser un nom d&#8217;hôte dynamique global&nbsp;&raquo;, rentrez le nom d&#8217;hôte de la machine, pas d&#8217;identifiant puis cocher la case &laquo;&nbsp;Annoncer les services de ce domaine via Bonjour&nbsp;&raquo;.</p>
<p style="text-align: center;"><a href="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Configurer-le-client.png" rel="lightbox[275]"><img class="aligncenter size-full wp-image-285" title="Configurer le client" src="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Configurer-le-client.png" alt="" width="301" height="191" /></a></p>
<p>Une fois validé, votre client a dû s&#8217;enregistrer auprès de votre serveur (sous condition qu&#8217;il utilise le bon serveur DNS).<br />
Voici comment vérifier que tout s&#8217;est bien déroulé, depuis un Mac OS X Client, ouvrez un terminal et tapez les commandes suivantes et comparez vos résultats :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yoann<span style="color: #000000; font-weight: bold;">@</span>Yoanns-Laptop ~ <span style="color: #000000;">19</span>:00 <span style="color: #000000; font-weight: bold;">%</span> dns-sd <span style="color: #660033;">-E</span>
Looking <span style="color: #000000; font-weight: bold;">for</span> recommended registration domains:
Timestamp     Recommended Registration domain
<span style="color: #000000;">19</span>:00:<span style="color: #000000;">26.729</span>  Added     <span style="color: #7a0874; font-weight: bold;">&#40;</span>More<span style="color: #7a0874; font-weight: bold;">&#41;</span>               <span style="color: #7a0874; font-weight: bold;">local</span>
<span style="color: #000000;">19</span>:00:<span style="color: #000000;">26.730</span>  Added     <span style="color: #7a0874; font-weight: bold;">&#40;</span>More<span style="color: #7a0874; font-weight: bold;">&#41;</span>               mac.com
                                                                 - <span style="color: #000000; font-weight: bold;">&amp;</span>gt<span style="color: #000000; font-weight: bold;">;;</span> members
                                                                 - - <span style="color: #000000; font-weight: bold;">&amp;</span>gt<span style="color: #000000; font-weight: bold;">;;</span> yoann
<span style="color: #000000;">19</span>:00:<span style="color: #000000;">26.730</span>  Added                          inig-services.com
                                                                 - <span style="color: #000000; font-weight: bold;">&amp;</span>gt<span style="color: #000000; font-weight: bold;">;;</span> office
                                                                 - - <span style="color: #000000; font-weight: bold;">&amp;</span>gt<span style="color: #000000; font-weight: bold;">;;</span> bonjour</pre></div></div>

<p>Cette commande m&#8217;indique la liste des domaines Bonjour recommandé pour l&#8217;enregistrement, j&#8217;y retrouve mon domaine .local (celui utilisé normalement), le domaine de MobileMe (et oui, MobileMe se sert de WAB pour vous fournir les services de Back to my Mac) et notre domaine, tout va bien donc !</p>
<p>Autre commande (qui nécessite que votre client enregistré ai le partage AFP d&#8217;actif) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yoann<span style="color: #000000; font-weight: bold;">@</span>Yoanns-Laptop ~ <span style="color: #000000;">19</span>:00 <span style="color: #000000; font-weight: bold;">%</span> dns-sd <span style="color: #660033;">-B</span> _afpovertcp._tcp bonjour.office.inig-services.com.
Browsing <span style="color: #000000; font-weight: bold;">for</span> _afpovertcp._tcp.bonjour.office.inig-services.com.
Timestamp     A<span style="color: #000000; font-weight: bold;">/</span>R Flags <span style="color: #000000; font-weight: bold;">if</span> Domain                    Service Type              Instance Name
<span style="color: #000000;">19</span>:03:<span style="color: #000000;">30.913</span>  Add     <span style="color: #000000;">2</span>  <span style="color: #000000;">0</span> bonjour.office.inig-services.com. _afpovertcp._tcp.         Yoann<span style="color: #ff0000;">'s Laptop</span></pre></div></div>

<p>Je liste ici tous les enregistrements pour les services de type _afpovertcp._tcp sur ma zone bonjour.office.inig-services.com.</p>
<p>Si je veux maintenant obtenir les informations pour un service sur une machine, voici ce que j&#8217;ai à faire :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yoann<span style="color: #000000; font-weight: bold;">@</span>Yoanns-Laptop ~ <span style="color: #000000;">19</span>:05 <span style="color: #000000; font-weight: bold;">%</span> dns-sd <span style="color: #660033;">-L</span> <span style="color: #ff0000;">&quot;Yoann's Laptop&quot;</span> _afpovertcp._tcp bonjour.office.inig-services.com.
Lookup Yoann<span style="color: #ff0000;">'s Laptop._afpovertcp._tcp.bonjour.office.inig-services.com.
19:05:26.225  Yoann'</span>s\032Laptop._afpovertcp._tcp.bonjour.office.inig-services.com. can be reached at yoann-laptop.office.inig-services.com.:<span style="color: #000000;">548</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>interface <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Un autre moyen de voir facilement les informations publiées sur les domaines Bonjour est d&#8217;utiliser l&#8217;excellent <a href="http://www.tildesoft.com/Programs.html" target="_blank">Bonjour Browser</a> ici lancé depuis une autre machine :</p>
<p style="text-align: center;"><a href="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Bonjour-Browser.png" rel="lightbox[275]"><img class="aligncenter size-full wp-image-286" title="Bonjour Browser" src="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Bonjour-Browser.png" alt="" width="228" height="241" /></a></p>
<p>Et voilà, votre zone WAB open est fonctionnelle. Ne seront enregistrés sur cette zone que les clients ayant les options adéquats de coché dans leurs préférences système. Pour les autres, ils verront ce qui est publié par les machines configuré sous condition d&#8217;avoir le bon serveur DNS et la bonne zone de recherche de configuré.</p>
<p>Voici par exemple la vue réseau d&#8217;un client connecté en VPN sur mon serveur :</p>
<p style="text-align: center;"><a href="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Network.png" rel="lightbox[275]"><img class="aligncenter size-full wp-image-290" title="Réseau" src="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Network.png" alt="" width="517" height="313" /></a></p>
<p>Et pour Safari :</p>
<p style="text-align: center;"><a href="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Safari.png" rel="lightbox[275]"><img class="aligncenter size-full wp-image-291" title="Safari" src="http://blog.inig-services.com/wp-content/uploads/2010/01/WAB-Safari.png" alt="" width="518" height="324" /></a></p>
<p>Si vous avez des questions ou des commentaires, n&#8217;hésitez pas.</p>
<p>N&#8217;oubliez pas que vous pouvez me retrouver comme formateur pour les centres de formation suivant :</p>
<ul>
<li><a href="http://www.terkane.com/" target="_blank">Terkane</a> (Fréjus/St Raphaël)</li>
<li><a href="http://www.apaxxdesigns.com/" target="_blank">Apaxxdesigns</a> (Paris)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/275/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wide Area Bonjour &#8211; Introduction et données statiques</title>
		<link>http://blog.inig-services.com/archives/261</link>
		<comments>http://blog.inig-services.com/archives/261#comments</comments>
		<pubDate>Sun, 17 Jan 2010 13:22:46 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bonjour]]></category>
		<category><![CDATA[BWA]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[WAB]]></category>
		<category><![CDATA[Wide Area]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=261</guid>
		<description><![CDATA[Cet article est le premier d&#8217;une série concernant Bonjour en &#171;&#160;Wide Area&#160;&#187;, ou comment faire passer les informations de Bonjour (ZeroConf) à travers les routeurs (et le VPN) grâce à notre Mac OS X Server. English version Si vous êtes depuis longtemps dans le monde OS X Server vous devez savoir que Wide Area Bonjour [...]]]></description>
			<content:encoded><![CDATA[<p>Cet article est le premier d&#8217;une série concernant Bonjour en &laquo;&nbsp;Wide Area&nbsp;&raquo;, ou comment faire passer les informations de Bonjour (ZeroConf) à travers les routeurs (et le VPN) grâce à notre Mac OS X Server.</p>
<p><span id="more-261"></span></p>
<p><a href="http://blog.inig-services.com/archives/337" target="_self">English version</a></p>
<p>Si vous êtes depuis longtemps dans le monde OS X Server vous devez savoir que Wide Area Bonjour (WAB) fait partie des technologies les plus génial, mais aussi des plus incompréhensibles à mettre à œuvre au premier abord.</p>
<p>Pour ma part j&#8217;essaye de faire marcher cette techno depuis Tiger, mais il faut dire que les documentations sont pauvres à ce sujet, j&#8217;en veux pour preuve le site officiel <a href="http://www.dns-sd.org" target="_blank">dns-sd.org</a> qui ne contient que quatre pages&#8230;</p>
<p>Cela dit, à force de discussion avec d&#8217;autres administrateurs j&#8217;ai réussi à collecter toutes les informations utiles pour un fonctionnement &laquo;&nbsp;out of the box&nbsp;&raquo;. J&#8217;en profie pour remercier Guillaume Gete pour m&#8217;avoir transféré les documentations qu&#8217;il avait lui-même collecté, elles se sont montrée bien utiles.</p>
<p>Avant d&#8217;attaquer cet article je tiens à dire que j&#8217;ai réussi à faire marcher tout ceci un samedi soir vers 1h du matin. Autant dire que je n&#8217;ai pas encore poussé les expérimentations dessus. La série d&#8217;article que je vais écrire à ce propos s&#8217;adresse donc à des administrateurs avertis souhaitant s&#8217;intéresser à cette technologie. À vous de tester ses possibilités avant de le mettre en production.</p>
<p>J&#8217;ai choisi d&#8217;écrire plusieurs petits articles pour ce sujet plutôt qu&#8217;un seul gros, certaines choses sont plus fiables que d&#8217;autre et que WAB peut être utilisé de plusieurs manière.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/261/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[OS X Server] &#8211; Configuration d&#8217;un serveur mail interne</title>
		<link>http://blog.inig-services.com/archives/175</link>
		<comments>http://blog.inig-services.com/archives/175#comments</comments>
		<pubDate>Fri, 06 Nov 2009 16:51:37 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[cours]]></category>
		<category><![CDATA[fetchmail]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=175</guid>
		<description><![CDATA[Comme promis dans un précédent article je reviens ici sur la configuration du service mail d&#8217;OS X Server mais d&#8217;une manière atypique. D&#8217;origine le service mail d&#8217;OS X est plutôt designé pour être le serveur mail principal de votre société et évince ainsi les serveurs mail de votre FAI ou hébergeur web. L&#8217;intérêt d&#8217;un tel [...]]]></description>
			<content:encoded><![CDATA[<p>Comme promis dans un précédent article je reviens ici sur la configuration du service mail d&#8217;OS X Server mais d&#8217;une manière atypique. D&#8217;origine le service mail d&#8217;OS X est plutôt designé pour être le serveur mail principal de votre société et évince ainsi les serveurs mail de votre FAI ou hébergeur web.</p>
<p>L&#8217;intérêt d&#8217;un tel évincement serait d&#8217;avoir le contrôle maximum sur son service mail et ainsi éviter une suppression de mail important par un service anti-spam un peut trop agressif ou encore de laisser plus d&#8217;espace mail disponible pour vos utilisateurs. Pour autant il a un très net désavantage, il faut que votre serveur mail soit toujours en ligne. Autant dire que si ce serveur est hébergé dans les locaux de votre TPE/PME il y a de forte chance qu&#8217;un jour ou l&#8217;autre il y ai une coupure d&#8217;électricité ou d&#8217;Internet.</p>
<p>L&#8217;objectif ici va être d&#8217;avoir à la fois les avantages d&#8217;un serveur interne et la sécurité d&#8217;un serveur fournis par votre hébergeur.</p>
<p><span id="more-175"></span>Pour comprendre à quoi va ressemblé le fonctionnement de ce système, rien de mieux qu&#8217;un schéma :</p>
<p style="text-align: center;"><a href="http://blog.inig-services.com/wp-content/uploads/2009/11/Serveur-Mail.jpg" rel="lightbox[175]"><img class="size-full wp-image-177  aligncenter" title="Serveur Mail Interne" src="http://blog.inig-services.com/wp-content/uploads/2009/11/Serveur-Mail.jpg" alt="Serveur Mail Interne" width="614" height="461" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">Autrement dit, notre serveur va se servir du protocole POP3 pour se connecter au serveur mail de notre FAI et récupérer les mails pour les transférer en local. Une configuration permettra de régler l&#8217;association entre les identifiants du serveur de notre fournisseur et nos comptes locaux.</p>
<p style="text-align: left;">L&#8217;outil qui permet de faire cela sous Mac OS X Server n&#8217;est nul autre que Fetchmail. Avec Microsoft Exchange vous connaissez ce système via le &laquo;&nbsp;Connecteur POP3&#8243;.</p>
<p style="text-align: left;">Cet article portera donc sur la configuration initiale du service mail d&#8217;OS X ainsi que de fetchmail dans cet optique de déploiement.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/175/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[OS X] &#8211; Gestion des droits d&#8217;accès aux fichiers</title>
		<link>http://blog.inig-services.com/archives/51</link>
		<comments>http://blog.inig-services.com/archives/51#comments</comments>
		<pubDate>Fri, 17 Jul 2009 08:39:23 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[acl]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[posix]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=51</guid>
		<description><![CDATA[Aujourd&#8217;hui tous les systèmes d&#8217;exploitation sont conçus pour être multi-utilisateurs, ce qui est en soit pratique mais qui peut également devenir rapidement problématique si nous nous posons la question des droits d&#8217;accès. Autrement dit, comment dans un environnement multi-utilisateur pouvons nous êtres certain que des données privées le reste ? La réponse n&#8217;est autre que [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui tous les systèmes d&#8217;exploitation sont conçus pour être multi-utilisateurs, ce qui est en soit pratique mais qui peut également devenir rapidement problématique si nous nous posons la question des droits d&#8217;accès. Autrement dit, comment dans un environnement multi-utilisateur pouvons nous êtres certain que des données privées le reste ? La réponse n&#8217;est autre que les droits d&#8217;accès.</p>
<p>Cet article ne traitera que de la partie théorique des droits d&#8217;accès et que très peut de la partie pratique (uniquement pour les exemples), il vous est donc recommandé de lire le manuel de fonctionnement des commandes <code>ls</code>, <code>chown</code> et <code>chmod</code> du système Mac OS X.<br />
<span id="more-51"></span><br />
Le système Mac OS X (qui inclut Mac OS X Server) est construit sur une base UNIX (Darwin). Cette information peut paraître anodine mais elle nous donne un premier élément de réponse à notre gestion des droits d&#8217;accès, le système POSIX.</p>
<p>Le terme POSIX désigne une série de standards définissant le comportement des systèmes de la famille UNIX, pour plus de précision sur l&#8217;ensemble du standard je vous invite à consulter l&#8217;article <a href="http://fr.wikipedia.org/wiki/POSIX">Wikipedia</a>, nous nous attarderons ici seulement sur la partie droit d&#8217;accès que nous résumerons ainsi :</p>
<p>Un fichier ou un dossier d&#8217;un système UNIX voit ses accès contrôlé à trois niveaux : l&#8217;utilisateur, le groupe et les autres; et par trois droits possibles : lecture, écriture, exécution. Cela entend que nous allons pouvoir, grace à ce système, préciser quel utilisateur est propriétaire de la ressource, quel est le groupe associé, et quel comportement adopter pour le reste des utilisateurs. À chacun de ces niveaux nous allons pouvoir dire si l&#8217;entité concerné a le droit de lire, d&#8217;écrire ou d&#8217;exécuter la ressource.</p>
<p>La notation adopté pour ces trois droits est R (Lecture), W (Ecriture), X (Exécution) et s&#8217;interprète de la sorte :</p>
<p>Pour un fichier :</p>
<ul>
<li>R : Lire le contenu du fichier</li>
<li>W : Modifier le fichier</li>
<li>X : Exécuter le fichier (utiliser dans le cas de fichier binaire ou de scripts)</li>
</ul>
<p>Pour un dossier, les droits sont identiques mais l&#8217;interprétation est légèrement différente :</p>
<ul>
<li>R : Lister le contenu du dossier</li>
<li>W : Modifier le contenu du dossier (ajouter ou supprimer une ressource)</li>
<li>X : Traverser le dossier</li>
</ul>
<p>Si les deux premiers droits applicable pour un dossier sont simples, le dernier mérite une explication. Le droit de traverser un dossier entend le droit de l&#8217;écrire dans un chemin d&#8217;accès. Si l&#8217;ont regarde l&#8217;utilisation d&#8217;un système d&#8217;exploitation par une ligne de commande, nous sommes obliger d&#8217;écrire le chemin d&#8217;accès à nos ressources. Si par exemple je veux lire le contenu de mon fichier comment_devenir_riche.txt se trouvant dans le dossier Documents de mon dossier personnel en ligne de commande je utilise cette commande :</p>
<p><code>less /Users/yoanngini/Documents/comment_devenir_riche.txt</code></p>
<p>Pour accéder à ma formule secrète pour devenir riche je dois partir de la racine (/) de mon système puis le dossier Users, mon dossier personnel yoanngini et enfin mon dossier Documents. pour que mon action réussisse ici seul deux droits seront necessaire, celui d&#8217;exécution sur les trois dossiers Users, yoanngini, Documents, et le droit de lecture sur mon fichier comment_devenir_riche.txt.</p>
<p>En effet il n&#8217;est pas nécessaire d&#8217;avoir les droits de lecture (lister) sur un dossier pour accéder à son contenue mais uniquement le droit d&#8217;exécution.</p>
<p>Si nous prenons un exemple existant dans le système OS X, la drop box (ou boite de dépots en français) se trouvant dans votre dossier personnel/Public et que nous regardons les droits d&#8217;accès avec notre terminal (commande ls) nous obtenons ceci :</p>
<p><code>ls -l ~/Public<br />
total 0<br />
drwx-wx-wx+ 3 yoanngini  staff   102B 24 mai  2008 Drop Box/</code></p>
<p>La première série de caractère nous indique le type de la ressource listé (premier caractère), ensuite par groupe de trois caractères nous avons les droits d&#8217;accès pour le propriétaire (indiqué en colonne trois); pour le groupe (colonne quatre) et pour les autres. Soit :</p>
<ul>
<li>d : indique que la ressource est un dossier (peut être un l pour un lien symbolique ou un &#8211; pour un fichier)</li>
<li>rwx : droit de lecture, d&#8217;écriture et d&#8217;exécution pour le propriétaire yoanngini</li>
<li>-wx : droit d&#8217;écriture et d&#8217;exécution pour le groupe staff</li>
<li>-wx : droit d&#8217;écriture et d&#8217;exécution pour les autres</li>
</ul>
<p>Pour l&#8217;utilisateur qu&#8217;est-ce que cela entend ?</p>
<ul>
<li>Le propriétaire a tous les droits sur son dossier</li>
<li>Le reste (staff + les autres) a le droit de traverser et d&#8217;écrire dans le dossier, mais pas de lister son contenue</li>
</ul>
<p>C&#8217;est ici le comportement même de la drop box, un dossier ou tout le monde pourra écrire mais où seul le propriétaire pourra lire.<br />
<!--more--><br />
Maintenant que nous connaissons les droits d&#8217;accès avec le système POSIX, prenons un cas d&#8217;espèce pour mettre en lumière ses limites.</p>
<p>Nous sommes dans l&#8217;entreprise Protovision, éditeur de jeux vidéo pour ordinateur. L&#8217;entreprise est divisé en équipe en fonction des jeux en cours de production en plus des équipes administratives. Ce qui nous donne coté informatique cette liste de groupe :</p>
<ul>
<li>Direction (nom court : direction)</li>
<li>Comptabilité (nom court : compta)</li>
<li>Equipe Global Thermonuclear War (nom court : e_gtw)</li>
<li>Equipe The Dead Code (nom court : e_tdc)</li>
</ul>
<p>L&#8217;équipe du jeu Global Thermonuclear War a fait du très bon travail et toute l&#8217;entreprise prépare une soirée surprise pour eux, pour se faire toutes les informations sur cette soirée sont mise sur un dossier commun dans lequel les organisateurs peuvent lire et écrire, et tout le monde sauf l&#8217;équipe du jeu doit pouvoir y lire.</p>
<p>Pour réaliser ceci avec les droits d&#8217;accès POSIX nous allons devoir créer deux nouveaux groupes :</p>
<ul>
<li>Organisateurs de la soirée (nom court party_o)</li>
<li>Complices de la soirée (nom court party_c) — Ce groupe inclus le groupe des organisateurs</li>
</ul>
<p>Et ensuite créer une arborescence particulière en commençant par créer un dossier A dont le propriétaire sera l&#8217;administrateur, il disposera de tous les droits (rwx); le groupe sera celui des complices de la soirée en lecture seule (r-x); et les autres n&#8217;auront aucuns droits (&#8212;). Ensuite à l&#8217;intérieur du dossier A nous devrons créer un dossier B , le propriétaire sera toujours l&#8217;administrateur avec tous les droits (rwx); le groupe sera cette fois ci celui des organisateurs et disposera de tous les droits également (rwx) et les autres auront ici un accès en lecture seul (r-x).</p>
<p>Si on analyse ce qu&#8217;il va se passer au niveau du système, l&#8217;utilisateur devra en premier accéder au dossier A, pour cela il faudra qu&#8217;il soit soit administrateur soir complice de la soirée, les membres de l&#8217;équipe Global Thermonuclear War seront donc bloqué à partir de la. Ensuite à l&#8217;intérieur du dossier A il ne se passera rien, tout se passera dans le dossier B ou tout le monde pourra accéder en lecture et seul l&#8217;administrateur et le groupe des organisateurs pourra écrire.</p>
<p>L&#8217;astuce à voir ici est que la limitation d&#8217;accès s&#8217;est fait en combinant deux séries de droits POSIX pour arriver à nos fins, ce qui, vous en conviendrez, peut très vite devenir complexe et impose la création de nouveau groupe.<br />
<!--more--></p>
<p>Pour aller plus loin dans notre gestion des droits d&#8217;accès nous allons donc avoir besoin d&#8217;un autre système de droit, les ACL, pour Access Control List (Liste de contrôle d&#8217;accès). Ce système vient en <span style="text-decoration: underline;">complément</span> du système POSIX, il vous faudra donc connaître les deux parfaitement pour être efficace.</p>
<p>Le système des ACL introduit la possibilité d&#8217;avoir une liste de droits appliquer à autant d&#8217;utilisateur ou de groupe que nécessaire et pour une ressource et une précision sur les droits eux même accrue.</p>
<p>Vous retrouverez la liste des droits ACL dans la page de manuel de la commande <code>chmod</code>, dans la section ACL MANIPULATION OPTIONS, les voici expliqué :</p>
<p>Droits applicables à toutes les ressources :</p>
<ul>
<li>delete : Permission de supprimer la ressource sur laquelle le droit est appliqué</li>
<li>readattr : Permission de lire les attributs standards d&#8217;une ressource</li>
<li>writeattr : Permission de modifier les attributs standards d&#8217;une ressource</li>
<li>readextattr : Permission de lire les attributs étendus d&#8217;une ressource</li>
<li>writeexattr : Permission de modifier les attributs étendus d&#8217;une ressource</li>
<li>readsecurity : Permission de lire les attributs de sécurité d&#8217;une ressource (les ACL, le propriétaire, etc) — Nécessaire pour savoir qu&#8217;on a les droits sur la ressource</li>
<li>writesecurity : Permission de modifier les attributs de sécurité d&#8217;une ressource (ACL, droit POSIX, propriétaire, etc)</li>
<li>chown : Permission à l&#8217;utilisateur de prendre la propriété POSIX de la ressource</li>
</ul>
<p>Droits applicables aux dossiers uniquement :</p>
<ul>
<li>list : Le droit de lister le contenu d&#8217;un dossier</li>
<li>search : Le droit de faire une recherche par nom de fichier à l&#8217;intérieur de ce dossier</li>
<li>add_file : Le droit de créer un nouveau fichier à l&#8217;intérieur du dossier en question</li>
<li>add_subdirectory : Le droit de créer un nouveau dossier à l&#8217;intérieur du dossier en question</li>
<li>delete_child : Le droit de supprimer un élément inclus, dossier ou fichier</li>
</ul>
<p>Droits applicables aux fichiers uniquement :</p>
<ul>
<li>read : Permission de lire un fichier</li>
<li>write : Permission de modifier un fichier dans son intégralité</li>
<li>append : Permission de modifier un fichier sans pour autant modifier l&#8217;existant (ne marche pas avec tous les types de fichier, essentiellement le droit de rajouter des informations à la fin du fichier)</li>
<li>execute : Permission d&#8217;exécuter le programme ou le script</li>
</ul>
<p>Notion d&#8217;héritage (s&#8217;applique sur les dossiers) :</p>
<ul>
<li>file_inherit : Les fichiers inclus hériterons de l&#8217;ACL</li>
<li>directory_inherit : Les dossier inclus hériterons de l&#8217;ACL</li>
<li>limit_inherit : Limite l&#8217;héritage aux premier niveau de sous dossier, pour éviter que l&#8217;ACL soit appliqué aux sous dossier inclus dans les dossiers enfants de premier niveau</li>
<li>only_inherit : L&#8217;ACL ne sera pas interprété pour le dossier sur lequel elle est appliqué mais uniquement pour ses éléments enfants (peut permettre de donner le droit d&#8217;ajouter des fichiers dans les dossiers inclus mais pas dans le dossier lui même)</li>
</ul>
<p>Chacune de ces options pourra être utiliser donner ou refuser des droits aux utilisateurs via les mots clef <code>allow</code> et <code>deny</code> lors de la création des droits</p>
<p>Si nous reprenons notre exemple avec les ACL nous auront toujours besoin d&#8217;un groupe organisateur mais pas d&#8217;un groupe invité, et d&#8217;un seul dossier. Voici comment faire :</p>
<p>Nous partons donc avec un dossier C sur lequel nous allons utiliser ingénieusement ACL en complément des droits POSIX. Le propriétaire sera toujours l&#8217;administrateur avec tous les droits, le groupe sera le groupe des organisateurs avec tous les droits également et les autres n&#8217;auront que les droits de lecture. Il nous reste simplement à rajouter une ACL interdisant tout type d&#8217;accès à l&#8217;équipe Global Thermonuclear War.</p>
<p>Enfantin ! N&#8217;est-ce pas ?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[OS X Server] &#8211; Délégation de zone DNS</title>
		<link>http://blog.inig-services.com/archives/37</link>
		<comments>http://blog.inig-services.com/archives/37#comments</comments>
		<pubDate>Mon, 23 Feb 2009 16:23:45 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Bind]]></category>
		<category><![CDATA[délégation]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=37</guid>
		<description><![CDATA[Imaginons que nous ayons besoin de déléguer une zone DNS. Nous somme sur le domaine inig-services.lan et nous voulons déléguer le control de la zone lab.inig-services.lan de sorte à avoir une zone de test pour des stagiaires par exemple. Ceci va se faire très simplement, sur l&#8217;OS X Server contrôlant la zone inig-services.lan nous allons [...]]]></description>
			<content:encoded><![CDATA[<p>Imaginons que nous ayons besoin de déléguer une zone DNS. Nous somme sur le domaine inig-services.lan et nous voulons déléguer le control de la zone lab.inig-services.lan de sorte à avoir une zone de test pour des stagiaires par exemple.<br />
<span id="more-37"></span><br />
Ceci va se faire très simplement, sur l&#8217;OS X Server contrôlant la zone inig-services.lan nous allons modifier la définition de la zone.</p>
<p>Comme vu dans un <a href="http://blog.inig-services.com/archives/8">précédent article</a> nous avons différents fichier de configuration à notre disposition, entre autre <strong>/var/named/zones/db.inig-services.lan.zone.apple</strong> et <strong>/var/named/db.inig-services.lan.</strong>.</p>
<p>Il faut se rappeler que le premier est celui modifier par Server Admin nous ne devons donc pas l&#8217;éditer à la main sous peine de perdre toutes nos modifications à la prochaine utilisation de l&#8217;outil de configuration.</p>
<p>Regardons dons le second : <strong>/var/named/db.inig-services.lan.</strong></p>
<p>Il contiens ceci :<br />
<code>;THE FOLLOWING INCLUDE WAS ADDED BY SERVER ADMIN. PLEASE DO NOT REMOVE.<br />
$INCLUDE /var/named/zones/db.inig-services.lan.zone.apple<br />
</code></p>
<p>C&#8217;est à dire l&#8217;inclusion du fichier de définition de zone faite par Server Admin, il nous reste donc a modifier se fichier en se plaçant après l&#8217;inclusion.</p>
<p>Le serveur DNS de Mac OS X Server est BIND, il nous suffit donc (en se rapportant à la <a href="https://www.isc.org/files/Bv9.4ARM.pdf">documentation</a>) de rajouter des entrée <strong>NS</strong> et <strong>A</strong> pour définir une zone délégué, son serveur ainsi que l&#8217;adresse IP du serveur.</p>
<p>Voici donc le fichier final :</p>
<p><code>;THE FOLLOWING INCLUDE WAS ADDED BY SERVER ADMIN. PLEASE DO NOT REMOVE.<br />
$INCLUDE /var/named/zones/db.inig-services.lan.zone.apple</code></p>
<p><code> </code></p>
<p><code>lab IN NS server.lab.inig-services.lan.<br />
server.lab.inig-services.lan. IN A 10.1.1.1<br />
</code></p>
<p>Pour une question de confort, il faudra rajouter notre serveur en serveur secondaire du serveur maitre de la zone délégué, sans quoi le support des entrées MX et autres posera problème.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/37/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[OS X Server] &#8211; Configuration manuel du serveur DNS</title>
		<link>http://blog.inig-services.com/archives/8</link>
		<comments>http://blog.inig-services.com/archives/8#comments</comments>
		<pubDate>Sat, 13 Sep 2008 09:38:00 +0000</pubDate>
		<dc:creator>Yoann</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[ligne]]></category>
		<category><![CDATA[line]]></category>

		<guid isPermaLink="false">http://blog.inig-services.com/?p=8</guid>
		<description><![CDATA[OS X Server est un système serveur très simple d&#8217;utilisation, tout ou presque peut être fait depuis Server Admin, l&#8217;interface graphique permettant de gérer en local comme à distance notre serveur. Pourtant il peut être intéressant de faire certaine chose en ligne de commande. Commençons par le DNS. Comme vous le savez peut être, le [...]]]></description>
			<content:encoded><![CDATA[<p>OS X Server est un système serveur très simple d&#8217;utilisation, tout ou presque peut être fait depuis Server Admin, l&#8217;interface graphique permettant de gérer en local comme à distance notre serveur.</p>
<p>Pourtant il peut être intéressant de faire certaine chose en ligne de commande. Commençons par le DNS.</p>
<p><span id="more-8"></span>Comme vous le savez peut être, le serveur DNS embarqué par OS X Server n&#8217;est autre que le projet open source BIND. Pour comprendre comment marche ses fichiers de configuration, je vous renvois vers la documentation. Voyons ici simplement où son les fichier et comment sont-ils agencé, de sorte a garder une compatibilité entre les fichier que nous pourrions créer à la main et l&#8217;interface graphique. Pour les exemples nous prendrons le domaine home.lan.</p>
<p><!--pagetitle:Déclaration de la zone-->Premièrement, déclarons des zone DNS, cela se passe dans : <em><strong>/etc/dns/publicView.conf.apple</strong></em></p>
<p>Dans se fichier vous rajouterez quelques ligne pour indiquer à votre serveur qu&#8217;il est contrôleur principale d&#8217;un domaine. Voici ces quelques lignes :</p>
<p><code>zone "home.lan." IN {<br />
      type master;<br />
      file "db.home.lan.";<br />
      allow-transfert {none;};<br />
      allow-update {none;};<br />
};</code></p>
<p>Faites attention à bien conserver le db devant le nom de domaine pour le nom de fichier ainsi que le &laquo;&nbsp;.&nbsp;&raquo; final, ce sera le nom du futur fichier destiné a recevoir la définition de la zone.</p>
<p><!--pagetitle:Définition de la zone-->Maintenant il faut définir la zone en elle même, ici le fonctionnement est peut communs. Nous allons devoir définir dans le dossier <em>/var/named/zones</em> nos différentes zone et ensuite créer un lien dans <em>/var/named</em> pour que le fichier soit pris en compte.</p>
<p>Définissons une zone : <em><strong>/var/named/zones/db.home.lan.zone.apple</strong></em></p>
<p><code><br />
$TTL 259200<br />
home.lan. IN SOA ns1.home.lan. admin.home.lan. (<br />
      2008083001      ;Serial<br />
      86400                ;Refresh every 24 hours<br />
      3600                  ;Retry<br />
      604800              ;Expire after 7 days<br />
      345600              ;Negative caching TTL<br />
)</code></p>
<p><code>home.lan.      IN      NS                 ns1.home.lan.<br />
home.lan.      IN      MX      10      mail.home.lan.</code></p>
<p><code>ns1                IN      A                   192.168.1.5<br />
mail               IN      A                   192.168.1.5</code></p>
<p><code>www              IN      CNAME          ns1.home.lan.</code></p>
<p>Rajoutons son lien : <strong><em>/var/named/db.home.lan.</em></strong></p>
<p>Le lien en question est tout simplement un fichier texte qui contiens ceci :<br />
<code>$INCLUDE /var/named/zones/db.home.lan.zone.apple</code></p>
<p>Une fois cela terminé, vous devrez penser à faire la zone de recherche inverse (ex: 1.168.192.in-addr.arpa.)</p>
<p>Il ne vous reste qu&#8217;à démarrer le service DNS avec la commande :<br />
<code>sudo serveradmin start dns</code></p>
<p><!--pagetitle:Options générales du DNS-->Si vous avez déjà utilisé l&#8217;outil graphique de configuration du DNS vous avez remarqué qu&#8217;il y a d&#8217;autres options, dans la partie générale cette fois çi, qui va concerner le fonctionnement globale du service. Ces options sont définie dans le fichier <em><strong>/etc/dns/options.conf.apple</strong></em>. Vous pourrez entre autre y régler des serveur DNS de redirection (forward). Cette entrée définie le serveur DNS à utiliser lorsque la requette conserne une zone non gérer.<br />
<code>forwarders { 192.168.1.1; };</code></p>
<p>Vous pourrez aussi interdire le transfert de zone si vous le souhaitez :<br />
<code>allow-transfer { none; };</code></p>
<p><!--pagetitle:Assignation d'un serveur DNS en ligne de commande-->Tant qu&#8217;à y être, pourquoi de pas assigner le serveur utiliser par la connexion réseau de votre serveur (en toute logique dire à votre serveur qu&#8217;il doit s&#8217;utiliser lui même en serveur DNS).</p>
<p>Pour se faire nous avons quelques commande à tapper :<br />
<code>sudo networksetup -setdnsservers Ethernet 127.0.0.1<br />
sudo networksetup -setsearchdomains Ethernet home.lan.</code></p>
<p>Ces commandes vous permettrons de définir le serveur DNS <em>127.0.0.1</em> ainsi que le domaine de recherche par défaut <em>home.lan.</em> pour l&#8217;interface nommé <em>Ethernet</em>.</p>
<p>Et pour finir pourquoi ne pas vérifier que le nom d&#8217;hôte de votre serveur est bien synchronisé avec celui que vous avez déclaré dans votre serveur DNS ? Utilisez pour cela la commande :<br />
<code> sudo changeip -checkhostname</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inig-services.com/archives/8/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
