3 votes

Qu'est-ce qui fait la différence entre `sudo CMD` et `sudo su` suivi de `CMD`?

J'ai un serveur SSH avec une authentification par clé uniquement et je veux ajouter une clé pour un nouvel utilisateur.

Je me connecte avec un utilisateur (kidmose), j'essaie d'ajouter la clé aux authorized_keys d'un nouvel utilisateur (remote) et cela échoue :

kidmose@hech-remote-control:~$ sudo cat .ssh/id_rsa.pub > /home/remote/.ssh/authorized_keys
-bash: /home/remote/.ssh/authorized_keys: Permission denied

Je fais d'abord un sudo su et ça fonctionne :

kidmose@hech-remote-control:~$ sudo su
[sudo] mot de passe pour kidmose : 
root@hech-remote-control:/home/kidmose# cat .ssh/id_rsa.pub > /home/remote/.ssh/authorized_keys

Informations supplémentaires :

kidmose@hech-remote-control:~$ ll /home/remote/.ssh/authorized_keys
-rw-r--r-- 1 remote remote 409 Oct 16 07:14 /home/remote/.ssh/authorized_keys
kidmose@hech-remote-control:~$ uname -a
Linux hech-remote-control.egki 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Alors quelle est la différence (pertinente) entre les deux approches ?

1voto

Archemar Points 1647

Dans le premier cas

 kidmose@hech-remote-control:~$ sudo cat .ssh/id_rsa.pub > /home/remote/.ssh/authorized_keys
  • votre bash (essaie de) ouvrir la redirection vers le fichier /home/remote/.ssh/authorized_keys
  • puis exécute sudo cat .ssh/id_rsa.pub

Comme vous n'avez pas accès, la commande a échoué.

1voto

Bruno9779 Points 1237

Dans le premier cas, la seule commande exécutée avec des privilèges d'utilisateur super est cat. La redirection vers /home/remote/.ssh/authorized_keys est exécutée en tant qu'utilisateur normal.

Dans le deuxième cas, vous passez au compte root et toutes les commandes sont exécutées avec les privilèges de l'utilisateur super.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X