Sur une instance Amazon EC2 sous Linux, les droits sudo dépendent de l’image système utilisée, pas d’un mécanisme sudo propre à AWS. Le compte initial dispose généralement de sudo ; un nouveau compte n’hérite pas automatiquement de ses privilèges.
Identifier le compte et les autorisations actuelles
whoami
id
sudo -l
Les comptes Linux d’une instance sont distincts des utilisateurs IAM. Avant de modifier les permissions, conservez une session d’administration ouverte et vérifiez votre accès de secours. Consultez les règles propres à l’AMI et à votre distribution.
Sur Ubuntu : ajouter un compte au groupe sudo
Pour un compte existant nommé matt, si le groupe sudo est bien autorisé par la configuration :
sudo usermod -aG sudo matt
L’option -a conserve les autres groupes du compte. Une nouvelle session est nécessaire pour prendre en compte l’appartenance. Ce mode demande normalement le mot de passe du compte pour sudo ; un compte créé avec mot de passe désactivé nécessite donc une politique adaptée.
N’activez pas l’authentification SSH par mot de passe simplement pour résoudre une demande de mot de passe sudo. Ce sont deux réglages différents.
Créer une règle sudoers dédiée si nécessaire
Utilisez visudo et un fichier local, plutôt que de modifier un fichier géré par cloud-init sans examiner son rôle. Exemple avec demande de mot de passe :
sudo visudo -f /etc/sudoers.d/90-matt
matt ALL=(ALL:ALL) ALL
Si l’exploitation impose une élévation sans mot de passe, la règle suivante accorde un accès très large. Réservez-la à un compte d’administration explicitement approuvé, protégé par clé SSH :
matt ALL=(ALL:ALL) NOPASSWD: ALL
Pour une automatisation, préférez des commandes précisément définies après analyse des possibilités d’escalade. Restreindre à un programme capable de lancer un shell ne constitue pas nécessairement une restriction efficace.
Comprendre les fichiers inclus
La directive @includedir, ou son ancienne forme #includedir, charge les fichiers du répertoire indiqué. Ils sont lus dans l’ordre lexical : 10-premier avant 90-dernier. Le signe # de l’ancienne directive n’est pas un commentaire.
Évitez les noms contenant un point ou terminés par un tilde, qui peuvent être ignorés. Ne supposez pas qu’une règle placée dans un fichier « 90 » est lue avant un fichier « 10 ».
Valider sans redémarrer un service sudo
sudo visudo -c
sudo -l -U matt
Il n’est pas nécessaire de redémarrer un service sudo après modification. Testez depuis une seconde session du compte concerné. Vérifiez également les permissions et le propriétaire du fichier selon les conventions de la distribution.
Pour sécuriser l’accès distant, consultez la création d’une clé SSH et le contrôle de la configuration avec SSH-Audit.
Références
AWS : gérer les comptes Linux EC2 ; sudoers : règles et ordre des fichiers inclus.

