<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Le 2015-04-28 21:43, Louis Brouillette
a écrit :<br>
</div>
<blockquote cite="mid:55403736.6030304@gmail.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
Oui je savais mais je disais ça parce que la permission m'étais
refusée dans l'autre commande (sans erreur de mot de passe), ce
qui me laissais un rien perplexe. La commande était fautive.
Frédéric m'a ramené la bonne commande ensuite. Je comprenais pas
pourquoi ça m'était refusé, une commande sudo. Mais merci.<br>
</blockquote>
<br>
L'explication est assez simple en fait.<br>
<br>
Les commandes sont lancées par le shell, avec les droits de
l'utilisateur exécutant le shell, donc restreints.<br>
La commande sudo permet d'emprunter des droits de superutilisateur
le temps de l'exécution d'une commande.<br>
Ici la commande que j'avais donnée ne pouvait pas fonctionner car la
tentative d'écriture du fichier se faisait en dehors du sudo.<span
style="font-size:12.8000001907349px"><br>
<br>
sudo cat << __EOF__ > /etc/apt/sources.list</span><br>
<br>
Le sudo s'applique à la commande "cat", mais les redirections
d'entrée (le '<<') et de sortie (le '>') sont effectuées
avant cela, par le shell de l'utilisateur, donc avec des droits
restreints.<br>
<br>
En d'autres termes, le shell opère comme ceci :<br>
- redirection de l'entrée (habituellement le clavier) en la
remplaçant par toutes les lignes qui suivront jusqu'à rencontrer
"__EOF__" (pas de souci de droits ici) ;<br>
- redirection de la sortie (habituellement l'écran) en la remplaçant
par l'écriture dans /etc/apt/sources.list (et c'est là que ça échoue
car on n'est pas encore root ici) ;<br>
- lancement d'un processus enfant avec l'exécution de la commande
"sudo cat" (qui va basculer sous l'utilisateur root puis exécuter la
commande "cat" avec ces droits).<br>
<br>
En remplaçant le "sudo cat > fichier" par un "sudo tee -a
fichier" on s'assure que le processus qui effectuera l'écriture dans
le fichier (ici "tee" et non plus le shell) aura acquis les droits
pour le faire (grâce au "sudo" devant "tee").<br>
<br>
J.C.<br>
<pre class="moz-signature" cols="72">--
Jean Christophe ANDRÉ — Coordonnateur des infrastructures techniques
Agence universitaire de la Francophonie (AUF) — <a class="moz-txt-link-freetext" href="http://www.auf.org/">http://www.auf.org/</a>
✉ : AUF | 3034, boul Édouard-Montpetit | Montréal QC H3T 1J7 | CANADA
℡ : +1 514 343 6630 #1568 ✦ ℻ : +1 514 343 2107
⎧Note personnelle: merci d'éviter de m'envoyer des fichiers Microsoft⎫
⎩Office, cf <a class="moz-txt-link-freetext" href="http://www.gnu.org/philosophy/no-word-attachments">http://www.gnu.org/philosophy/no-word-attachments</a> ⎭
</pre>
</body>
</html>