Utiliser ses alias avec sudo

publié le 2024/02/22

=> retour

Intro

Par défaut, nos alias "user" ne sont pas disponibles quand on passe par sudo 😭, exemple :

$ ll /etc/hosts
.rw-r--r-- 243 root 17 Jan 11:00 /etc/hosts
$ sudo ll /etc/hosts
sudo: ll: command not found

Solution

Encore une fois, merci le wiki Archlinux ❤️ : il est possible avec bash et zsh de créer un alias pour sudo (notez l'espace après sudo) :

$ alias sudo="sudo "
$ sudo ll /etc/hosts
-rw-r--r-- 1 root root 243 Jan 17 11:00 /etc/hosts

=> Page Sudo sur le Wiki Archlinux

⚠️ Attention, le binaire doit être dans le PATH du user cible (root ici).

Par exemple si on utilise eza (alternative à ls en rust 🦀🚀), et que ce dernier a été installé avec cargo, on aura l'erreur suivante :

$ alias ll              # affiche l'alias courant
ll='exa -al --git'
$ ll /etc/hosts
.rw-r--r-- 243 root 17 Jan 11:00 /etc/hosts
$ sudo ll /etc/hosts
sudo: exa: command not found

=> github du projet eza (anciennement exa)

Notez que ça ne marche pas avec tous les shells (nushell par exemple...)

Proxy Information
Original URL
gemini://thasmanie.fr/alias-sudo.gmi
Status Code
Success (20)
Meta
text/gemini;lang=fr
Capsule Response Time
268.331023 milliseconds
Gemini-to-HTML Time
0.72679 milliseconds

This content has been proxied by September (ba2dc).