<?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>Linux Attitude&#187; Sysadmin</title>
	<atom:link href="http://linux-attitude.fr/category/sysadmin/feed" rel="self" type="application/rss+xml" />
	<link>http://linux-attitude.fr</link>
	<description>Le libre est un état d&#039;esprit</description>
	<lastBuildDate>Fri, 17 Feb 2012 08:00:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Strate NTP</title>
		<link>http://linux-attitude.fr/post/strate-ntp?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=strate-ntp</link>
		<comments>http://linux-attitude.fr/post/strate-ntp#comments</comments>
		<pubDate>Thu, 09 Feb 2012 08:10:35 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[planete-libre]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1470</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: ntp.conf&#160;; fudge Pour vérifier le bon fonctionnement de votre démon ntp, vous êtes amené à taper la commande suivante qui liste les source de temps utilisées&#160;: $ ntpdc -p Cette commande met une étoile face à la source de référence utilisée pour la synchronisation. Le choix se fait entre autre en fonction [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: ntp.conf&nbsp;; fudge</p>


<p>Pour vérifier le bon fonctionnement de votre démon ntp, vous êtes amené à taper la commande suivante qui liste les source de temps utilisées&nbsp;:</p>
<pre>
$ ntpdc -p
</pre>


<p>Cette commande met une étoile face à la source de référence utilisée pour la synchronisation. Le choix se fait entre autre en fonction du stratum de la source. Je rappelle que les serveurs NTP disposant d'une source de temps matérielle fiable (horloge atomique) ont pour stratum 1. Ceux qui se synchronisent sur eux, 2, et ainsi de suite.</p>


<p>Étant donné qu'il y a un grand nombre de serveurs publics de strate 2 et 3, vous devriez avoir accès à des serveurs de strate 4, ou au pire 5. Mais si le serveur a une strate plus élevée, il se peut que l'horloge choisie ne soit plus le serveur, mais l'horloge locale qui a une strate définie par défaut à 5 sur certaine distributions.</p>


<p>Et là c'est le drame, vous n'êtes plus synchronisés&nbsp;!</p>


<p>Pour résoudre ce problème, il y a plusieurs méthodes, se résumant toutes en la configuration des serveurs de temps&nbsp;:</p>
<pre>
# ntp.conf

# mettre l'option prefer sur le serveur voulu
serveur xxx.com prefer
# réduire la strate du serveur
fudge xxx.com stratum 4

# augmenter la strate de l'horloge locale
# 127.127 pour les horloges non réseau
# 1.0 pour l'horloge système
fudge 127.127.1.0 stratum 10
</pre>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/il-faut-laisser-le-temps-au-temps' rel='bookmark' title='Permanent Link: Il faut laisser le temps au temps'>Il faut laisser le temps au temps</a></li>
<li><a href='http://linux-attitude.fr/post/verrou-virtuel' rel='bookmark' title='Permanent Link: Verrou virtuel'>Verrou virtuel</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a>, <a href="http://linux-attitude.fr/tag/serveur" title="Serveur" rel="tag">Serveur</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/strate-ntp/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Verrou virtuel</title>
		<link>http://linux-attitude.fr/post/verrou-virtuel?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=verrou-virtuel</link>
		<comments>http://linux-attitude.fr/post/verrou-virtuel#comments</comments>
		<pubDate>Mon, 06 Feb 2012 08:01:04 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Commande]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[planete-libre]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1465</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: vlock; vlock -ns Vous avez vu apparaître dans l'article sur tmux, un petit outil pour verrouiller le terminal, il s'appelle vlock. Son unique fonctionnalité est le locker un terminal et de demander un mot de passe pour être débloqué. Mine de rien ça lui fait quand même deux cas d'usage&#160;: bloquer l'accès [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: vlock; vlock -ns</p>


<p>Vous avez vu apparaître dans l'article sur <a href="http://linux-attitude.fr/post/configuration-de-tmux">tmux</a>, un petit outil pour verrouiller le terminal, il s'appelle <a href="http://cthulhu.c3d2.de/~toidinamai/vlock/vlock.html" hreflang="en">vlock</a>.</p>


<p>Son unique fonctionnalité est le locker un terminal et de demander un mot de passe pour être débloqué.</p>


<p>Mine de rien ça lui fait quand même deux cas d'usage&nbsp;:</p>
<ul>
<li>bloquer l'accès physique à une machine</li>
<li>bloquer l'accès virtuel à un shell</li>
</ul>

<h3>Virtuel</h3>

<p>Avec la commande suivante&nbsp;:</p>
<pre>
$ vlock
</pre>


<p>Vous bloquez votre terminal en cours, et seul un mot de passe peut le débloquer. C'est utile essentiellement lorsque vous êtes connecté en ssh à distance sur une machine.</p>


<h3>Physique</h3>


<p>L'option -a permet de locker toutes les consoles locales (ctrl-alt-Fx, ou alt-Fx), en pratique il locke la console en cours et empêche d'en changer. Il faut donc déjà être sur une console locale.</p>


<p>Si vous êtes sur X, vous êtes aussi sur une console locale (remarquez le ctrl-F7 pour y aller). Mais le shell qui va lancer votre commande ne l'est pas, il est dans le terminal virtuel de xterm, rxvt, konsole et consorts. Pour locker toutes les consoles, il faut donc utiliser l'option -n qui ouvre une nouvelle console (<a href="http://linux-attitude.fr/post/terminal-linux">avec openvt</a>) avant de continuer avec l'option -a.</p>


<p>Enfin notez que l'utilisateur local a en général accès aux <a href="http://linux-attitude.fr/post/les-mains-dans-la-noyau">magic keys</a>, et une de ces magic keys sert justement à tuer le processus en avant plan (alt-sysrq-k), par exemple pour garantir qu'il n'y a pas de keylogger. Si vous ne voulez pas vous faire tuer votre session par cette combinaison de touche vous pouvez utiliser l'option -s. C'est là qu'on voit que cette combinaison nommé SAK n'est pas si sécurisée que ça puisqu'elle peut être désactivée...</p>


<p>Donc je résume&nbsp;:</p>
<pre>
# en tant qu'utilisateur normal et seulement depuis une console texte
$ vlock -a
# en tant que root
$ vlock -sn
</pre>


<h3>Quand le lancer</h3>


<p>Et c'est là qu'est la difficulté, en toute logique le lancement doit se faire par le processus qui dispose du terminal à un instant donné, surtout dans le cas de blocage du terminal virtuel. La bonne solution est de le lancer après un certain temps d'inactivité, et seule l'application peut savoir quand le lancer. C'est donc à vous de trouver les settings spécifiques à l'application pour le faire.</p>


<p>Mon article précédent indique comment faire pour <a href="http://linux-attitude.fr/post/screen-killer">tmux</a>, malheureusement je n'ai pas trouvé de solution pour bash qui ne propose que la variable TMOUT qui termine complètement le shell.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/login-dans-un-chroot' rel='bookmark' title='Permanent Link: Login dans un chroot'>Login dans un chroot</a></li>
<li><a href='http://linux-attitude.fr/post/poisson-de-janvier' rel='bookmark' title='Permanent Link: Poisson de janvier'>Poisson de janvier</a></li>
<li><a href='http://linux-attitude.fr/post/clavier-virtuel' rel='bookmark' title='Permanent Link: Clavier virtuel'>Clavier virtuel</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/commande" title="Commande" rel="tag">Commande</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/verrou-virtuel/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Configuration de tmux</title>
		<link>http://linux-attitude.fr/post/configuration-de-tmux?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configuration-de-tmux</link>
		<comments>http://linux-attitude.fr/post/configuration-de-tmux#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:32:23 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Commande]]></category>
		<category><![CDATA[planete-libre]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1429</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: tmux Comme disait un illustre au grand cœur, "Compromis, chose due !" (orthographe approximative). Voici donc mon fichier de configuration détaillé de tmux, à mettre dans ~/.tmux.conf ou /etc/tmux.conf au choix. Je n'ai pas changé beaucoup de raccourcis car je tiens à m'habituer autant que possible aux valeurs par défaut qui vont [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: tmux</p>


<p>Comme disait un illustre au grand cœur, "Compromis, chose due !" (orthographe approximative).
Voici donc mon fichier de configuration détaillé de tmux, à mettre dans ~/.tmux.conf ou /etc/tmux.conf au choix. Je n'ai pas changé beaucoup de raccourcis car je tiens à m'habituer autant que possible aux valeurs par défaut qui vont se retrouver sur mes nouveaux serveurs.</p>


<p>J'en profite pour ajouter un raccourci que j'ai oublié la dernière fois&nbsp;:</p>
<ul>
<li>ctrl-b D&nbsp;: pour détacher un tmux resté ouvert à distance</li>
</ul>
<pre>
# Pour les nostalgiques de screen
# comme les raccourcis ne sont pas les mêmes, j'évite
#set -g prefix C-a
#unbind-key C-b
#bind-key a send-prefix

# même hack que sur screen lorsqu'on veut profiter du scroll du terminal (xterm ...)
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

# c'est un minimum (defaut 2000)
set-option -g history-limit 100000

# lorsque j'ai encore un tmux ailleurs seule
# sa fenetre active réduit la taille de ma fenetre locale
setw -g aggressive-resize on

# locker la session après inactivité (en s)
set -g lock-after-time 3600
# pour que le lock marche sous linux (apt-get install vlock)
set -g lock-command vlock

# il faut choisir un derivé de screen, 256 couleurs c'est bien !
set -g default-terminal &quot;screen-256color&quot;

# pour ceux qui n'ont pas laché la souris
set -g mouse-select-pane on
setw -g mode-mouse on

# ca peut etre utile ...
set -g status-utf8 on
setw -g utf8 on

# Pour etre alerté sur un changement dans une autre fenêtre
setw -g monitor-activity on
#set -g visual-activity on
#set -g visual-bell on

# numéroter a partir de 1, pratique pour l'accès direct
set -g base-index 1

# repercuter le contenu de la fenetre dans la barre de titre
# reference des string : man tmux (status-left)
set -g set-titles on
set -g set-titles-string '#H #W #T' # host window command


#########
# theme #
#########
# exprimez votre créativité ici !
# pour les string : man tmux (status-left)

# barre un peu plus discrete
set -g status-bg default
set -g status-fg green
setw -g window-status-current-bg default
setw -g window-status-current-fg white
setw -g window-status-alert-attr default
setw -g window-status-alert-fg yellow

set -g pane-active-border-fg green
set -g pane-active-border-bg black
set -g pane-border-fg white
set -g pane-border-bg black

set -g message-fg black
set -g message-bg green

# exemples de barre d'état 
#set -g status-left '#[fg=red]#H#[fg=green]:#[fg=white]#S #[fg=green]][#[default]'
#set -g status-right '#[fg=green]][#[fg=white] #T #[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default]'

#set -g status-left '#[fg=red]#H#[fg=green]:#[fg=white]#S #[fg=green]][#[default]'
#set -g status-right '#[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default]'

#set -g status-left '#[fg=green](#S) #(whoami)@#H#[default]'
#set -g status-right '#[fg=yellow]#(cut -d &quot; &quot; -f 1-3 /proc/loadavg)#[default] #[fg=blue]%H:%M#[default]'

#set -g status-right &quot;#[fg=yellow]#(uptime | cut -d ',' -f 2-)&quot;
</pre>


<p>Comme pour le <a href="http://linux-attitude.fr/post/Bashrc-collaboratif">bashrc collaboratif</a>, je vous propose de poster en commentaires vos personnalisations, je les ajouterai.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/screen-killer' rel='bookmark' title='Permanent Link: Screen killer'>Screen killer</a></li>
<li><a href='http://linux-attitude.fr/post/geek-et-partage' rel='bookmark' title='Permanent Link: Geek et partage'>Geek et partage</a></li>
<li><a href='http://linux-attitude.fr/post/prompt-string' rel='bookmark' title='Permanent Link: Prompt String'>Prompt String</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/commande" title="Commande" rel="tag">Commande</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/configuration-de-tmux/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Screen killer</title>
		<link>http://linux-attitude.fr/post/screen-killer?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=screen-killer</link>
		<comments>http://linux-attitude.fr/post/screen-killer#comments</comments>
		<pubDate>Mon, 23 Jan 2012 08:00:52 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Commande]]></category>
		<category><![CDATA[planet-libre]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1320</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: tmux Aujourd'hui tout le monde connaît et utilise screen. Miracle de la technologie, il permet de survivre aux déconnexions, de lancer des commandes longues sans avoir peur, de faire passer tous ses shells dans une seule connexion et on le trouve souvent associé à l'indémodable irssi. Comme vous le savez peut-être screen [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: tmux</p>


<p>Aujourd'hui tout le monde connaît et utilise screen. Miracle de la technologie, il permet de survivre aux déconnexions, de lancer des commandes longues sans avoir peur, de faire passer tous ses shells dans une seule connexion et on le trouve souvent associé à l'indémodable irssi.</p>


<p>Comme vous le savez peut-être screen n'est plus maintenu. Ayant un code un difficile à lire et à maintenir, des développeurs ont choisi lui faire un concurrent plutôt que de le reprendre.</p>


<p>Ce concurrent se nomme tmux. Il dispose de la plupart des fonctionnalités de screen et d'autres en plus. Comme vous le verrez, votre problème sera essentiellement de vous adapter aux nouveaux raccourcis. Pour le reste c'est tout bon.</p>


<p>Tmux dispose de presque toutes les fonctionnalités de screen sauf la communication par port série (rapport choucroute, toussa).</p>


<p>Commençons par le lancement&nbsp;:</p>
<pre>
# lancer un nouveau multiplexeur
$ screen 
$ tmux
# s'attacher à un multiplexeur existant 
$ screen -d -r
$ tmux attach
</pre>


<p>Les raccourcis&nbsp;:</p>
<ul>
<li>Nouvelle fenêtre
<ul>
<li>screen&nbsp;: ctrl-a ctrl-c</li>
<li>tmux&nbsp;: ctrl-b c</li>
</ul></li>
<li>Se détacher&nbsp;:
<ul>
<li>screen&nbsp;: ctrl-a d</li>
<li>tmux&nbsp;: ctrl-b d</li>
</ul></li>
<li>Passer à la fenêtre suivante
<ul>
<li>screen&nbsp;: ctrl-a &lt;espace&gt;</li>
<li>tmux&nbsp;: ctrl-b n</li>
</ul></li>
</ul>

<p>Je dois dire que ça y est je suis passé entièrement à tmux, le mélange ctrl-a ctrl-b entre screen et tmux commençait à être difficile. A propos d'adaptation, j'ai eu une seule difficulté c'est de m'habituer au nouveau scrollback. Il n'est pas possible de le faire à la souris, comme dans screen avec l'astuce du termcapinfo. Remarquez, c'est plus propre car du coup il n'y a pas de mélange des bufffer de scrollback entre les différents terminaux. Donc la méthode propre dans tmux c'est <strong>ctrl-b</strong> suivi de <strong>pgUp</strong> et là vous êtes en mode copy (qui permet entre autre le scrollback), vous pouvez alors naviguer avec <strong>pgUp</strong>, <strong>pgDown</strong> ou les touches directionnelles. Et pour Revenir au mode normal, <strong>Esc</strong> tout simplement.</p>



<p>Dans un prochain article nous verrons comment changer la <a href="http://linux-attitude.fr/post/configuration-de-tmux">configuration de tmux</a>, même si les valeurs par défaut sont plutôt bonnes.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/screen-et-irssi' rel='bookmark' title='Permanent Link: Screen et irssi'>Screen et irssi</a></li>
<li><a href='http://linux-attitude.fr/post/configuration-de-tmux' rel='bookmark' title='Permanent Link: Configuration de tmux'>Configuration de tmux</a></li>
<li><a href='http://linux-attitude.fr/post/geek-et-partage' rel='bookmark' title='Permanent Link: Geek et partage'>Geek et partage</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/commande" title="Commande" rel="tag">Commande</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/screen-killer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Login dans un chroot</title>
		<link>http://linux-attitude.fr/post/login-dans-un-chroot?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=login-dans-un-chroot</link>
		<comments>http://linux-attitude.fr/post/login-dans-un-chroot#comments</comments>
		<pubDate>Tue, 17 May 2011 16:14:19 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Interface graphique]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[planete-libre]]></category>
		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1353</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: /etc/inittab&#160;; /etc/gdm.conf&#160;; /etc/sshd.conf Pour ceux qui voudraient essayer le parachutisme, je vous le conseille, c'est très fort&#160;! Par contre ça vous empêche d'écrire des articles ... Vous venez de faire un chroot et vous voulez pouvoir vous connecter dessus comme s'il s'agissait de votre machine locale ? Pas de panique, c'est tout [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: /etc/inittab&nbsp;; /etc/gdm.conf&nbsp;; /etc/sshd.conf</p>


<p>Pour ceux qui voudraient essayer le parachutisme, je vous le conseille, c'est très fort&nbsp;! Par contre ça vous empêche d'écrire des articles ...</p>


<p>Vous venez de faire un chroot et vous voulez pouvoir vous connecter dessus comme s'il s'agissait de votre machine locale ?<br />
Pas de panique, c'est tout simple.</p>


<p>Pour cela nous allons regarder 3 méthodes différentes de connexion à votre chroot&nbsp;: le terminal local, ssh et l'environnement graphique. Mais avant tout préparons le chroot à ressembler à une distribution normale.</p>

<pre>
$ mount --bind /dev $CHROOT_BASE/dev
$ mount --bind /proc $CHROOT_BASE/proc
$ mount --bind /sys $CHROOT_BASE/sys
</pre>


<h3>Terminal local</h3>


<p>Pour se connecter en local à votre machine, vous utilisez les consoles disponibles (alt-Fx ou ctrl-alt-Fx si vous êtes en mode graphique). Vous en avez 6 à disposition.</p>


<p>Pour faire simple, nous allons juste faire en sorte que les consoles  4 à 6 redirigent dans le chroot tandis que les 1 à 3 resteront dédiées à la machine principale.</p>


<p>Il suffit de modifier /etc/inittab&nbsp;:</p>
<pre>
# /etc/inittab
1:2345:respawn:/sbin/getty tty1
2:2345:respawn:/sbin/getty tty2
3:2345:respawn:/sbin/getty tty3
4:2345:respawn:chroot &lt;CHROOT_BASE&gt; /sbin/getty tty4
5:2345:respawn:chroot &lt;CHROOT_BASE&gt; /sbin/getty tty5
6:2345:respawn:chroot &lt;CHROOT_BASE&gt; /sbin/getty tty6
</pre>


<p>Et là, soit vous redémarrez (bof on n'est pas sous windows) soit vous forcez init à relire sa configuration&nbsp;:
<span id="more-1353"></span></p>
<pre>
# en root
$ telinit q
$ pkill getty
</pre>


<p>Et maintenant passez à la console 4 (ctrl-F4) et vous pouvez vous connecter avec votre utilisateur intérieur au chroot.</p>


<h3>SSH</h3>

<p>Si vous vous connectez à votre machine en ssh, vous pouvez vouloir faire de même pour votre chroot.</p>


<p>Pour ce faire, vous pouvez lancer un service ssh à l'intérieur du chroot.
Tout simplement&nbsp;:</p>
<pre>
$ chroot $CHROOT_BASE
$ apt-get install openssh-server
</pre>


<p>Par contre vous ne pouvez pas laisser ssh tourner sur le même port que le ssh qui tourne déjà. Utilisez donc un autre port, par exemple le 1022&nbsp;:</p>
<pre>
$ vi $CHROOT_BASE/etc/ssh/sshd_config
&gt; Port 1022
</pre>


<p>Puis lancez ssh dans le chroot&nbsp;:</p>
<pre>
$ chroot $CHROOT_BASE /etc/init.d/ssh restart
</pre>


<p>Vous pouvez maintenant vous connecter directement au chroot&nbsp;:</p>
<pre>
$ ssh -p 1022 user@leserveur.com 
</pre>



<h3>GDM</h3>

<p>Maintenant si votre habitude est d'avoir un environnement de bureau comme gnome, il faut faire pareil pour lui.</p>


<p>Tout passe par le login manager. Je prends l'exemple de GDM, mais vous pouvez faire la même chose avec KDM.</p>


<p>Tout d'abord, vous devez avoir un gdm d'installé dans le chroot, donc un environnement graphique minimal.</p>


<p>Une fois installé dans le chroot, par exemple avec&nbsp;:</p>
<pre>
$ chroot $CHROOT_BASE apt-get install gnome
</pre>


<p>Éditez le fichier de configuration de gdm $CHROOT_BASE/etc/gdm/gdm.conf&nbsp;:</p>
<pre>
[daemon]
# ceci devrait être inutile, mais on ne sait jamais
FirstVT=8

[server]
0=Standard device=/dev/console
</pre>


<p>Relancez gdm dans le chroot&nbsp;:</p>
<pre>
$ chroot $CHROOT_BASE /etc/init.d/gdm restart
</pre>


<p>Et voilà, rendez-vous sur la console 8 (ctrl-alt-F8) pour obtenir un  login graphique dans le chroot. Sur la console 7 (ctrl-alt-F7) le login original est toujours disponible.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/configuration-de-init' rel='bookmark' title='Permanent Link: Configuration de init'>Configuration de init</a></li>
<li><a href='http://linux-attitude.fr/post/chroot' rel='bookmark' title='Permanent Link: Chroot'>Chroot</a></li>
<li><a href='http://linux-attitude.fr/post/chroot-toujours' rel='bookmark' title='Permanent Link: Chroot toujours'>Chroot toujours</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/interface-graphique" title="Interface graphique" rel="tag">Interface graphique</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a>, <a href="http://linux-attitude.fr/tag/systeme" title="Système" rel="tag">Système</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/login-dans-un-chroot/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Alsa</title>
		<link>http://linux-attitude.fr/post/alsa?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=alsa</link>
		<comments>http://linux-attitude.fr/post/alsa#comments</comments>
		<pubDate>Thu, 21 Apr 2011 16:30:24 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Noyau]]></category>
		<category><![CDATA[planete-libre]]></category>
		<category><![CDATA[son]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1327</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: Aujourd'hui un truc obscur pour beaucoup d'entre nous&#160;: alsa. Pas la poudre blanche, mais le truc avec un mixer, enfin pas celui de la cuisine, mais celui de linux ... Pour simplifier disons que alsa est une API présentée par le noyau et qui permet d'accéder à travers une interface unique à [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;:</p>


<p>Aujourd'hui un truc obscur pour beaucoup d'entre nous&nbsp;: alsa. Pas la poudre blanche, mais le truc avec un mixer, enfin pas celui de la cuisine, mais celui de linux ...</p>


<p>Pour simplifier disons que alsa est une API présentée par le noyau et qui permet d'accéder à travers une interface unique à toutes les cartes son que vous pouvez avoir.</p>


<h3>Fichier de configuration</h3>

<p>Alsa étant relativement bien fait, ses utilisateurs (l'application qui émet du son, la gestion du volume ...) n'ont pas besoin de configuration particulière pour fonctionner. Mais il est possible de changer cette non configuration. Cela peut se faire soit de façon globale au système dans /etc/asound.conf soit spécifiquement à l'utilisateur dans ~/.asoundrc.</p>


<p>Que peut-on mettre dans ces fichiers&nbsp;?</p>


<p>Là ça devient vite obscur et peu documenté. Mais nous allons voir que c'est assez simple. Il s'agit d'une configuration hiérarchique. Vous avez le choix entre les 2 formats suivants pour écrire des valeurs (ou un mix des 2)&nbsp;:</p>
<pre>
# commentaire
val.eur.1 &quot;toto&quot;
val.eur.2 &quot;tata&quot;
val.ue &quot;help&quot;

val {
  eur {
   1 &quot;toto&quot;
   2 &quot;tata&quot;
  }
  ue &quot;help&quot;
}
</pre>


<h3>Éléments de configuration</h3>

<p>Mais que peut-on bien mettre dans ce fichier&nbsp;?</p>


<p>Ici les exemples sont nombreux, mais rarement expliqués.</p>


<p>Tout d'abord une liste détaillée se trouve ici&nbsp;: <a href="http://alsa.opensrc.org/Asoundrc.txt" hreflang="en">Asoundrc.txt</a></p>


<p>Reste à trouver ce que les attributs veulent dire. Ce qui va vous intéresser est essentiellement pcm qui permet de créer une nouvelle carte son (virtuelle). Les autres ne vous seront utiles que rarement et dépendront surtout du contenu de vos pcm.</p>


<p><span id="more-1327"></span></p>


<h3>Un pcm</h3>

<p>La première chose à déclarer dans un pcm est son type, vous avez le choix parmi les différents <a href="http://alsa.opensrc.org/ALSA_plugins" hreflang="en">plugins alsa</a>. Contemplez la densité de la documentation, heureusement vous en avez un peu plus ici&nbsp;: <a href="http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html" hreflang="en">pcm_plugins.html</a></p>


<p>Notez la présence de ladspa pour changer le pitch du son. J'ai déjà présenté <a href="http://linux-attitude.fr/post/changer-la-vitesse-de-lecture-dun-film-sans-deformer-le-son">son usage avec vlc</a> pour accélérer un son sans en changer la hauteur.</p>


<p>Chaque type a ses paramètres spécifiques. Tous les plugins qui ne font que traiter le signal (comme ladspa ou softvol) ont un paramètre slave. Il faut bien comprendre de que cela signifie. Un slave est un autre plugin (oui c'est sans fin :-) qui va recevoir le son depuis le plugin que l'on configure. Donc le son transite de master vers slave lors de la lecture mais il transite de slave vers master lors de l'enregistrement.</p>


<h3>Exemple</h3>


<p>Maintenant prenons un exemple utile, ajouter une <strong>pré-amplification</strong> logicielle au système. Pratique lorsqu'on a un portable et qu'aucun ampli externe ne nous permet de monter le son alors que c'est l'enregistrement de youtube qui est très faible.</p>


<p>Comment faire&nbsp;? Très simple, ajoutons une carte virtuelle de type <a href="http://alsa.opensrc.org/Softvol et ici  http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html#pcm_plugins_softvol" hreflang="en">softvol</a></p>
<pre>
pcm.softcard {
      type softvol
      slave.pcm &quot;default&quot;
# on associe un contrôle nommé pre-amp au mixage de la première carte son
      control.name &quot;Pre-Amp&quot;
      control.card 0 
}
</pre>


<p>C'est bien, mais cela veut dire qu'il faut indiquer à nos logiciels d'utiliser la carte softcard pour profiter de cet avantage. Quelques changements vont nous permettre de changer ceci pour tout le monde.</p>
<pre>
# on change la configuration du pcm par défaut
pcm.!default {
      type plug
# et on pointe bêtement vers la notre
      slave.pcm &quot;softcard&quot;
}

pcm.softcard {
      type softvol
# on laisse dmix choisir la bonne carte physique
      slave.pcm &quot;dmix&quot;
      control.name &quot;Pre-Amp&quot;
      control.card 0
# on en profite pour donner des limites plus sympa pour l'augmentation et la rédution du volume
      min_dB -5.0
      max_dB 20.0
      resolution 5
}
</pre>


<p>Avant de voir le contrôle, il faut lancer un premier test pour forcer la lecture du fichier de conf par alsa (c'est comme ça ...)&nbsp;:</p>
<pre>
# test de bruit presque blanc
$ speaker-test
</pre>


<p>Et maintenant nous avons un nouveau contrôle dans alsamixer (ou votre mixer préféré) permettant de régler la pré-amplification.</p>


<p>A vous de tester les autres plugins ...</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/mpd-music-player-daemon' rel='bookmark' title='Permanent Link: MPD (Music Player Daemon)'>MPD (Music Player Daemon)</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/noyau" title="Noyau" rel="tag">Noyau</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a>, <a href="http://linux-attitude.fr/tag/son" title="son" rel="tag">son</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/alsa/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Exécution capitale</title>
		<link>http://linux-attitude.fr/post/execution-capitale?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=execution-capitale</link>
		<comments>http://linux-attitude.fr/post/execution-capitale#comments</comments>
		<pubDate>Mon, 28 Mar 2011 16:52:02 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Commande]]></category>
		<category><![CDATA[Curiosité]]></category>
		<category><![CDATA[Noyau]]></category>
		<category><![CDATA[planete-libre]]></category>
		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1314</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: /proc/sys/fs/binfmt_misc/register Exécution Savez-vous qu'on peut rendre n'importe quel fichier exécutable sous linux&#160;? Bien sûr il suffit de faire un chmod +x, mais le noyau risque de vous envoyer balader si le fichier n'est pas réellement exécutable. Mais je parle ici de rendre exécutable n'importe quel fichier, un jar, un source en C, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: /proc/sys/fs/binfmt_misc/register</p>



<h3>Exécution</h3>


<p>Savez-vous qu'on peut rendre n'importe quel fichier exécutable sous linux&nbsp;? Bien sûr il suffit de faire un chmod +x, mais le noyau risque de vous envoyer balader si le fichier n'est pas réellement exécutable.</p>


<p>Mais je parle ici de rendre exécutable n'importe quel fichier, un jar, un source en C, un MP3 ...</p>


<p>Mais comment quoi que donc !?</p>


<p>Pour exécuter un fichier, le noyau lit les premiers octets du fichier et vérifie qu'ils correspondent à un format binaire (binfmt) connu.
Il existe un système pour ajouter des formats binaires à ceux déjà supportés dans le noyau (en gros les <a href="http://en.wikipedia.org/wiki/Executable_and_Linkable_Format" hreflang="en">elf</a> et les scripts). Il s'agit du format misc.</p>


<p>Pour savoir si ce format est supporté chez vous, ce qui est très probable, lancez la commande&nbsp;:</p>
<pre>
$ cat /proc/sys/fs/binfmt_misc/status
</pre>


<p>S'il n'est pas supporté, il faut charger le module et monter le répertoire&nbsp;:</p>
<pre>
$ modprobe binfmt_misc
$ mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc 
</pre>


<p><span id="more-1314"></span></p>


<h3>C capital</h3>


<p>Maintenant supposons vous vouliez rendre les fichiers .c exécutables. Vous pouvez soit utiliser un de mes <a href="http://linux-attitude.fr/post/usrbingcc-bis">anciens</a> <a href="http://linux-attitude.fr/post/ecrire-un-script-en-c">articles</a> ... soit créer un petit script qui sera appelé à chaque exécution d'un .c&nbsp;:</p>
<pre>
#!/bin/sh
# /usr/local/bin/ccexec
gcc -Wall -o /tmp/cscript.$$ &quot;$1&quot; &amp;&amp; shift &amp;&amp; /tmp/cscript.$$ &quot;$@&quot;
ret=$? ; rm -f /tmp/cscript.$$ ; exit $ret
</pre>


<p>Et de faire en sorte qu'il soit réellement appelé&nbsp;:</p>
<pre>
$ echo ':cfile:E::c::/usr/local/bin/ccexec:' &gt; /proc/sys/fs/binfmt_misc/register
</pre>


<p>Hop un test&nbsp;:</p>
<pre>
#include &lt;stdio.h&gt;
// test.c
int main() {
  printf(&quot;Coucou\n&quot;);
  return 0;
}
</pre>


<p>Et on lance&nbsp;:</p>
<pre>
$ chmod +x test.c
$ ./test.c
&gt; Coucou
</pre>


<p>Yeah !!!</p>


<h3>G tout compris</h3>

<p>Maintenant, passons à l'exécution d'un gzip. Plutôt que de reconnaître le fichier à son extension, ce qui est franchement faible comme méthode nous allons vraiment détecter le type de fichier.</p>


<p>Allons voir la spécification, un fichier gzip se reconnait à ses 2 premiers octets qui doivent valoir 0x1f et 0x8b&nbsp;:</p>
<pre>
$ echo ':gzip:M::\x1f\x8b::/bin/gunzip:' &gt; /proc/sys/fs/binfmt_misc/register
</pre>


<p>Même méthode et ça marche. Notez qu'il est possible d'utiliser n'importe quel champs de bits grâce à une masque et une position de départ, mais seulement dans les 128 premiers octets du fichier.</p>


<p>Enfin, certaines distributions vont vous installer des choses un peu plus utiles comme l'exécution des jar avec java ou celle d'exécutable windows avec wine.</p>


<p>Et pour une spécification plus détaillée de ce qu'il lest possible de mettre dans la ligne d'enregistrement, direction <a href="http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/binfmt_misc.txt;hb=HEAD" hreflang="en">la documentation</a></p>


<p><strong>PS</strong>&nbsp;: pour supprimer l'entrée&nbsp;: echo -1 &gt; /proc/sys/fs/binfmt_misc/cfile</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/usrbingcc-bis' rel='bookmark' title='Permanent Link: #!/usr/bin/gcc (bis)'>#!/usr/bin/gcc (bis)</a></li>
<li><a href='http://linux-attitude.fr/post/changer-la-priorite-d-execution-des-processus' rel='bookmark' title='Permanent Link: Changer la priorité d&#8217;exécution des processus'>Changer la priorité d&#8217;exécution des processus</a></li>
<li><a href='http://linux-attitude.fr/post/trucs-et-astuces-5' rel='bookmark' title='Permanent Link: Trucs et astuces (5)'>Trucs et astuces (5)</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/commande" title="Commande" rel="tag">Commande</a>, <a href="http://linux-attitude.fr/tag/curiosite" title="Curiosité" rel="tag">Curiosité</a>, <a href="http://linux-attitude.fr/tag/noyau" title="Noyau" rel="tag">Noyau</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a>, <a href="http://linux-attitude.fr/tag/systeme" title="Système" rel="tag">Système</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/execution-capitale/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 29/67 queries in 0.255 seconds using apc
Object Caching 1872/1891 objects using apc
Content Delivery Network via N/A

Served from: linux-attitude.fr @ 2012-05-21 23:17:01 -->
