boutinjr
de taper son mot de passe en aveugle (c'est normal)
Ça n'a pas l'air très compliqué, mais il n'y a que ce passage que je n'arrive pas à retransmettre dans ma réalité.
Peux-tu préciser?
Ce n'est pas très compliqué
en pratique : lorsqu'une demande de
password s'affiche après pression sur la touche d'activation des commandes ↩︎ du clavier, parce que la commande dans le «
Terminal» commence par
sudo, alors il faut taper son mot-de-passe
admin à l'aveugle - aucun caractère ne se montrant à la frappe - et revalider par ↩︎.
Par contre, c'est plus compliqué
en théorie : voyons si je peux (à mes risques et périls) en éclaircir quelques aspects...
Quand tu ouvres une fenêtre du «
Terminal», s'affiche par défaut une invite de commande ("
prompt") du style :
où
boutinjr désigne l'opérateur des commandes (c'est toi) et
$ (le sigle du dollar) accollé en fin de nom le niveau de privilèges de cet opérateur qui est toi = comme avec un billet vert d'un dollar quelconque en moyen de paiement, tu ne peux « passer commande » que sur des objets de consommation ordinaires, mais tu ne peux pas agir sur le Système de production lui-même. C'est pareil dans l'espace d'
OS X : avec ton
$, tu peux passer seulement des commandes « ordinaires » (qui n'affectent pas l'architecture du Système). Seul l'utilisateur exceptionnel qui est
root, le
System Administrator, a automatiquement le privilège du
# (le sigle
#, qui, en musique, désigne le demi-ton
en-dessus du ton ordinaire, et par suite symbolise en informatique une "élévation" des privilèges). Par exemple, si tu démarres en pressant les touches
⌘S (démarrage en mode "
Single User" ou « utilisateur unique »), tu accèdes à un terminal où l'invite de commande est
root# : cela signifie que l'opérateur ici est le
System Administrator (
root), et le
# signifie que ses privilèges automatiques sont plus élevés que les privilèges d'un opérateur qui ne bénéficie que du billet vert
$.
Tu vas me dire : oui, mais si j'ai besoin, moi
boutinjr$, de passer des commandes d'« entrepreneur », et plus de simple « consommateur » ? Càd. des commandes qui vont affecter le Système d'
OS X ? - La réponse est : il faut que j'en demande la
permission au préalable, et que je fasse la preuve que j'ai le
droit d'obtenir cette permission.
Une façon, dans le «
Terminal», de demander la permission d'élever le privilège du
$ au niveau du
#, est de préfacer une commande par
sudo.
sudo est le nom d'un petit utilitaire dont l'intitulé complet serait :
substitute user do = opérer en qualité d'utilisateur substitué. C'est donc un utilitaire de « travestissement », ou d'« emprunt d'identité provisoire ». On peut utiliser l'utilitaire
sudo pour emprunter diverses identités d'utilisateurs, à condition qu'ils existent déjà dans l'OS. Par exemple, si en plus de
boutinjr, il existe un autre utilisateur qui est
toto,
boutinjr peut utiliser
sudo pour emprunter provisoirement l'identité de
toto et opérer des commandes sous cet avatar. Mais quand on se contente de mentionner
sudo tout court en en-tête d'une commande, alors par défaut c'est compris comme l'intention d'emprunter provisoirement l'identité du
System Administrator lui-même, càd. de
root. Par suite, écrire
sudo tout court équivaut à demander la permission de passer du niveau de privilège ordinaire
$ à l'élévation de privilège
#.
C'est bien gentil de demander une
permission, encore faut-il avoir le «
droit » de l'obtenir. C'est là que joue la différence d'appartance de «
groupe ». En plus d'utilisateurs singuliers dans l'OS, il y a en effet des «
groupes », et chaque utilisateur singulier appartient à plusieurs groupes a priori. Ainsi,
root, le
System Administrator appartient au groupe
wheel ("engrenage") et personne d'autre par défaut. Pour ce qui est des utilisateurs comme
boutinjr ou
toto ou
nana etc., a priori, càd. à la création de leur compte d'utilisateur, soit ils appartiennent seulement au groupe
standard (=
staff : les «
employés ») et au groupe
anonyme (=
everyone : les «
visiteurs ») ; soit ils appartiennent en sus au groupe
privilégié (=
admin : les «
administrateurs »).
boutinjr appartient aux «
administrateurs » (en plus des «
employés» et des «
visiteurs »).
Appartenir aux «
administrateurs » ne veut pas dire qu'on
agit par défaut en tant qu'«
administrateur », car si c'était le cas, l'opérateur
boutinjr n'aurait jamais besoin de demander la permission d'opérer en tant qu'«
admnistrateur » dans le «
Terminal» : il aurait d'entrée ce privilège équivalant au
#. Non : appartenir aux «
administrateurs » signifie qu'en mode automatique, on opère en tant que simple «
employé » (membre du
staff) ; mais que, si le besoin s'en fait sentir, on peut faire
valoir ses droits d'administration pour élever ses privilèges. Pour faire valoir ses droits d'aministrateur, il faut montrer patte blanche, càd. renseigner son
mot-de-passe de session.
Le Système vérifie alors que le requérant (l'
employé qui demande à opérer en tant qu'
admnistrateur) relève bien du groupe
admin et que le
mot-de-passe renseigné est valide (pour ce faire, il consulte un registre spécial intitulé
sudoers résidant dans le répertoire invisible
/private/etc de l'OS) et si tout colle, alors l'
employé boutinjr se trouve
promu pendant
5' au statut effectif d'
administrator du Système : il est donc alors un avatar du
System Administrator. Par
principe de sécurité, le renseignement du
mot-de-passe permettant à un
employé de passer
administrateur effectif ne donne jamais lieu à un affichage en clair. Dans une fenêtre graphique du
Finder, on ne voit qu'un alignement de ●●● etc. ; dans une fenêtre textuelle du «
Terminal», on ne voit strictement rien qui s'affiche. Ce qui ne veut pas dire qu'il n'y a pas saisie pour le Système.