su & sudo & echo

Le
mireero
Salut,

Dans les différences entre sudo et lancer une commande en root on a:

$ sudo echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

alors que cela fonctionne bien en root:
$ sudo su -c "echo 3 > /proc/sys/vm/drop_caches"

(Ok, c'est un peu tordu là, c'est pour le fun!)

Pourquoi?

Il me semble que cela a un rapport avec le fait que echo est un
"builtin" du shell mais j'arrive pas à trouver une logique.

--
mireero
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #26349808
mireero , dans le message écrit :
Dans les différences entre sudo et lancer une commande en root on a:

$ sudo echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

alors que cela fonctionne bien en root:
$ sudo su -c "echo 3 > /proc/sys/vm/drop_caches"



Tu peux remplacer su par sh dans cette ligne, ça marchera aussi bien et plus
efficace.

Il me semble que cela a un rapport avec le fait que echo est un
"builtin" du shell mais j'arrive pas à trouver une logique.



Non, rien à voir. Tu peux t'en convaincre en essayant de faire « date >
/root/test », puisque date n'est pas une primitive du shell.

Il s'agit de regarder quel processus interprète la redirection.
Sergio
Le #26349824
Le 19/04/2015 22:30, mireero a écrit :
Salut,

Dans les différences entre sudo et lancer une commande en root on a:

$ sudo echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

alors que cela fonctionne bien en root:
$ sudo su -c "echo 3 > /proc/sys/vm/drop_caches"

(Ok, c'est un peu tordu là, c'est pour le fun!)

Pourquoi?

Il me semble que cela a un rapport avec le fait que echo est un "builtin" du shell mais j'arrive pas à trouver une logique.



Non. La redirection est considérée comme exécuté par toi (pas root, donc). Pour s'en tirer :

sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Publicité
Poster une réponse
Anonyme