<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.gobio2.net/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Le blog de Laurent - unix</title>
  <link>http://blog.gobio2.net/index.php/</link>
  <description>Beaucoup de vide dans un monde de néant...</description>
  <language>fr</language>
  <pubDate>Mon, 28 Jul 2008 04:02:02 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Ubuntu, ssh et PermitRootLogin...</title>
    <link>http://blog.gobio2.net/index.php/post/2007/10/06/Ubuntu-ssh-et-PermitRootLogin</link>
    <guid isPermaLink="false">urn:md5:3bfb1830c250a4b828f47da7e839cea3</guid>
    <pubDate>Sat, 06 Oct 2007 00:29:00 +0200</pubDate>
    <dc:creator>Laurent</dc:creator>
        <category>Geek Attitude</category>
        <category>ubuntu</category><category>unix</category>    
    <description>    &lt;p&gt;Ca pourrait être le titre d'une sitcom comme &quot;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Top_Models&quot; hreflang=&quot;fr&quot;&gt;Amour, Gloire et Beauté&lt;/a&gt;&quot; &lt;sup&gt;[&lt;a href=&quot;http://blog.gobio2.net/index.php/post/2007/10/06/#pnote-13-1&quot; id=&quot;rev-pnote-13-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; mais c'est plutôt quelque chose qui m'a déçu légèrement auprès d'&lt;a href=&quot;http://www.ubuntu.com&quot; hreflang=&quot;en&quot;&gt;Ubuntu&lt;/a&gt;&amp;nbsp;: &quot;par défaut&quot; le serveur ssh est configuré avec PermitRootLogin à on. Pour ceux qui ne parlent pas le ssh couramment, cela veut dire que ssh autorise un utilisateur externe à se connecter à la machine directement en superutilisateur (avec tous les droits) à condition bien sûr qu'il donne le bon mot de passe. Mais comme Ubuntu n'active pas le mot de passe root -&quot;par défaut&quot;- c'est donc quelque chose d'impossible (sauf si l'administrateur de la machine a installé un mot de passe pour root).
L'honneur est donc sauf&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Pour moi, clairement non: deux précautions valent mieux qu'une et quand on voit le nombre de tentatives faites directement sur le compte root&lt;sup&gt;[&lt;a href=&quot;http://blog.gobio2.net/index.php/post/2007/10/06/#pnote-13-2&quot; id=&quot;rev-pnote-13-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;, je pense franchement que c'est un peu tirer le diable par la queue. Malheureusement ce n'est pour l'instant pas l'&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/45416&quot; hreflang=&quot;en&quot;&gt;avis&lt;/a&gt; des mainteneurs Ubuntu de ssh (et manifestement de ceux d'OpenBSD).&lt;/p&gt;


&lt;p&gt;Moralité: être parano en matière de sécurité, ne pas faire aveuglement confiance dans les réglages faits par d'autres (fussent-ils les mainteneurs de ma distribution préférée).&lt;/p&gt;


&lt;p&gt;&lt;em&gt;PS&lt;/em&gt;: PermitRootLogin ne prend pas uniquement &quot;on&quot; et &quot;off&quot; comme valeurs, il prend aussi &quot;without-password&quot; qui autorise l'authentification par clef publique uniquement et &quot;forced-commands-only&quot; qui autorise uniquement l'authentification par clef publique et l'execution d'une commande précise (à préciser dans le fichier authorized_keys, potentiellement utile pour lancer un backup par exemple)&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://blog.gobio2.net/index.php/post/2007/10/06/#rev-pnote-13-1&quot; id=&quot;pnote-13-1&quot;&gt;1&lt;/a&gt;] Je viens d'ailleurs de comprendre que &quot;Amour, Gloire et Beauté&quot; sur France 2 et &quot;Top Models&quot; sur RTL9 sont en fait la même série&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://blog.gobio2.net/index.php/post/2007/10/06/#rev-pnote-13-2&quot; id=&quot;pnote-13-2&quot;&gt;2&lt;/a&gt;] ne pensez pas que votre compte &quot;toto&quot; soit à l'abri, il est juste essayé moins frequemment&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://blog.gobio2.net/index.php/post/2007/10/06/Ubuntu-ssh-et-PermitRootLogin#comment-form</comments>
      <wfw:comment>http://blog.gobio2.net/index.php/post/2007/10/06/Ubuntu-ssh-et-PermitRootLogin#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.gobio2.net/index.php/feed/rss2/comments/13</wfw:commentRss>
      </item>
    
  <item>
    <title>Lancer un script mysql sans donner ni l'utilisateur ni le mot de passe sur la ligne de commande</title>
    <link>http://blog.gobio2.net/index.php/post/2007/10/03/Lancer-un-script-mysql-sans-donner-ni-lutilisateur-ni-le-mot-de-passe-sur-la-ligne-de-commande</link>
    <guid isPermaLink="false">urn:md5:239878b7bb0c1b4154237edd353c6f43</guid>
    <pubDate>Wed, 03 Oct 2007 23:43:00 +0200</pubDate>
    <dc:creator>Laurent</dc:creator>
        <category>Trucs en vrac</category>
        <category>astuce</category><category>mysql</category><category>shell</category><category>unix</category>    
    <description>    &lt;p&gt;Voici mon problème du jour : Comment lancer un script (de maintenance par exemple) qui fait appel à mysql, sans stocker en dur le nom de l'utilisateur et le mot de passe (ce qui est mal, très très mal). Le but est que seul un utilisateur privilégié (je n'ai pas forcément dit root ! je pense plutôt à un compte système comme mysql par exemple) puisse lancer ce script.&lt;/p&gt;
&lt;br /&gt;C'est plutôt facile, et je fournis trois solutions pour la peine :&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Avoir un fichier de configuration pour le script accessible seulement par l'utilisateur privilégié&lt;br /&gt;&lt;p&gt;On définit dans le fichier de configuration des variables d'environnement, une pour le user, une autre pour le mot de passe. Dans le script il ne reste qu'à utiliser la commande &lt;code&gt;source&lt;/code&gt; pour récuperer ses variables (seul l'utilisateur privilégié pourra lire le fichier). Simple et efficace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Avoir un fichier de configuration pour mysql accessible seulement par l'utilisateur privilégié&lt;br /&gt;&lt;p&gt;Variante de la précédente : on crée un fichier de configuration spécifique pour mysql (que l'on pourra mettre par exemple dans /etc/mysql mais il n'y a aucune obligation). Et on utilise l'option --defaults-file pour que mysql lise le contenu du fichier (il lit notamment les sections &lt;code&gt;[client]&lt;/code&gt; et &lt;code&gt;[mysql]&lt;/code&gt;). Exemple de fichier:
&lt;/p&gt;
&lt;pre&gt;[client]&lt;br /&gt;host     = localhost&lt;br /&gt;user     = votre_user&lt;br /&gt;password = votre_mot_de_passe&lt;br /&gt;socket   = /var/run/mysqld/mysqld.sock&lt;/pre&gt;
Bonus :  on peut spécifier d'autres options pour influer sur mysql (en vrac, le nom de serveur, le jeu de caractères...).
&lt;/li&gt;
&lt;li&gt;Pour ceux qui ont plusieurs scripts mais qui ont des options qui diffèrent légèrement&lt;br /&gt;&lt;p&gt;Vous avez des scripts quasiment identiques mais les options diffèrent légèrement (ou vous voulez centraliser tout en un seul fichier) : c'est possible. C'est une variante du cas précedent : on écrit un fichier de configuration mysql que l'on découpe en plusieurs sections. Ensuite, on fait appel au programme &lt;code&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/my-print-defaults.html&quot; hreflang=&quot;en&quot;&gt;my_print_defaults&lt;/a&gt;&lt;/code&gt; ! my_print_defaults examine le fichier de configuration (option &lt;code&gt;-c&lt;/code&gt; pour spécifier le votre...) et donne en sortie les paramètres à passer à mysql sous forme d'argument. Exemple :
&lt;/p&gt;
&lt;pre&gt;$ my_print_defaults -c /etc/mysql/maconf.cnf client &lt;br /&gt;--host=localhost&lt;br /&gt;--user=votre_user&lt;br /&gt;--password=votre_mot_de_passe&lt;br /&gt;--socket=/var/run/mysqld/mysqld.sock&lt;/pre&gt;
Il ne reste plus qu'à passer cela à mysql en récuperant la sortie dans une variable (ou en utilisant cette petite merveille de &lt;a href=&quot;http://en.wikipedia.org/wiki/Xargs&quot; hreflang=&quot;en&quot;&gt;xargs&lt;/a&gt;).
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.gobio2.net/index.php/post/2007/10/03/Lancer-un-script-mysql-sans-donner-ni-lutilisateur-ni-le-mot-de-passe-sur-la-ligne-de-commande#comment-form</comments>
      <wfw:comment>http://blog.gobio2.net/index.php/post/2007/10/03/Lancer-un-script-mysql-sans-donner-ni-lutilisateur-ni-le-mot-de-passe-sur-la-ligne-de-commande#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.gobio2.net/index.php/feed/rss2/comments/11</wfw:commentRss>
      </item>
    
  <item>
    <title>Petit truc en vrac</title>
    <link>http://blog.gobio2.net/index.php/post/2007/10/02/Petit-truc-en-vrac</link>
    <guid isPermaLink="false">urn:md5:31f2cd1ba2d7c6dfba7bf72e7813d66d</guid>
    <pubDate>Tue, 02 Oct 2007 23:15:00 +0200</pubDate>
    <dc:creator>Laurent</dc:creator>
        <category>Trucs en vrac</category>
        <category>astuce</category><category>unix</category>    
    <description>    Je suis souvent confronté à des petits problèmes dont je ne trouve pas immédiatement la solution (ce qui n'engendre chez moi que frustration et désespoir, et chez certains de mes collègues une perte de leur capacité auditive). Et parfois, après, alors que j'étais sur totalement autre chose, je découvre ce que je cherchais désespérement. Si, si.
&lt;br /&gt;&lt;br /&gt;Dans le principe que &quot;&lt;em&gt;Si j'ai ce problème, il y a de fortes chances que d'autres soient dans le même cas de figure&lt;/em&gt;&quot;, voici le premier billet d'une probablement longue série.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problème&lt;/strong&gt;: &lt;em&gt;Comment executer un script au démarrage d'une machine quand on n'est pas root !&lt;/em&gt;
&lt;br /&gt;Quelques précisions: l'un de mes amis et colocataires de notre serveur dédié utilise fetchmail. Mais à chaque fois qu'il y a reboot du serveur (ce qui est arrivé une ou deux fois), adieu fetchmail... Donc pour parer à cela, il a ajouté un script dans sa crontab pour vérifier toutes les heures si fetchmail est démarré, et dans le cas contraire, le script lance fetchmail. Pas mal mais peut on faire mieux ?
&lt;br /&gt;&lt;br /&gt;La réponse est oui, du moins si on utilise Vixie &lt;a hreflang=&quot;en&quot; href=&quot;http://en.wikipedia.org/wiki/Cron&quot;&gt;cron&lt;/a&gt; (le cron par défaut d'ubuntu et de tant d'autres) dans sa version 3 (qui date de 1993). Oui, ce bon vieux cron que l'on croit seulement capable de lancer des tâches périodiquement. En faisant un simple &lt;code&gt;man 5 crontab&lt;/code&gt;, on tombe sur ce paragraphe:
&lt;code&gt; &lt;br /&gt;&lt;/code&gt;&lt;blockquote&gt;&lt;p&gt;À la place des cinq premiers champs peut apparaître l’une des huit chaînes spéciales :&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chaîne&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signification&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @reboot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois au démarrage.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @yearly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois par an, « 0 0 1 1 * ».&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @annually&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (idem que @yearly)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @monthly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois par mois, « 0 0 1 * * ».&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @weekly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois par semaine, « 0 0 * * 0 ».&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @daily&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois par jour, « 0 0 * * * ».&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @midnight&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (idem que @daily)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @hourly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exécuter une fois par heure, « 0 * * * * ».&lt;/p&gt;
&lt;/blockquote&gt;
et oui un simple &lt;em&gt;@reboot&lt;/em&gt; et le tour est joué...&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.gobio2.net/index.php/post/2007/10/02/Petit-truc-en-vrac#comment-form</comments>
      <wfw:comment>http://blog.gobio2.net/index.php/post/2007/10/02/Petit-truc-en-vrac#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.gobio2.net/index.php/feed/rss2/comments/10</wfw:commentRss>
      </item>
    
</channel>
</rss>