Pour clarifier un peu: il n'y a pas de "commandes sudo", il n'y a que des commandes qui ont besoin des privilèges root pour fonctionner correctement et sudo
est la commande pour les obtenir pour une commande: sudo
exécute simplement la commande donnée en tant que root (lire "sudo" comme impératif phrase "superutilisateur, fais quelque chose!"). Les règles concernant les utilisateurs autorisés à le faire sont consignées dans /etc/sudoers
. Sur une installation Raspbian par défaut, l'utilisateur par défaut "pi" a obtenu ses autorisations sur cette ligne:
pi ALL=(ALL) NOPASSWD: ALL
Cela signifie: "L'utilisateur 'pi' sur TOUS les hôtes est autorisé à basculer vers TOUS les utilisateurs et n'a PAS à taper son PASSWD lors de l'utilisation de TOUTES (lire: toutes) commandes". (J'ai utilisé une grammaire folle ici pour conserver l'ordre de la ligne ... une note sur la raison pour laquelle il existe un moyen de distinguer les hôtes: de cette façon, le même fichier sudoers peut être distribué sur plusieurs machines sur un réseau afin que l'administrateur du réseau ait moins de travail) .
Il se peut que pouvoir exécuter des commandes à l'aide de sudo sans émettre de mot de passe administrateur soit la raison pour laquelle vous pensez qu'il est dangereux d'utiliser sudo sur SSH (je n'ai pas entendu parler d'un problème général avec cela ... alors pourriez-vous expliquez de quel danger vous parlez exactement?).
Bien sûr, vous pouvez avoir plusieurs utilisateurs avec des autorisations différentes. Mais je crains que l'utilisation de sudo soit toujours le meilleur moyen de gérer ces autorisations.
Donc, j'espère que cette petite recette est ce dont vous avez besoin:
$ sudo adduser admin
Cela va créer un utilisateur "admin", demander un mot de passe, créer son répertoire personnel, etc.
$ sudo adduser admin sudo
$ sudo adduser admin adm
Cela mettra l'utilisateur "admin" dans les groupes d'utilisateurs "sudo" et "adm". Et comme les autorisations sont gérées sous Linux en ajoutant des utilisateurs aux groupes d'utilisateurs, cela donne à l'utilisateur "admin" tous les privilèges et autorisations dont il a besoin. Il y a une ligne /etc/sudoers
qui permet à n'importe quel utilisateur du groupe d'utilisateurs "sudo" d'exécuter n'importe quelle commande en tant que root; et ce privilège est ce dont nous avons besoin pour un utilisateur administrateur (l'ajouter à "adm" lui permet de lire certains fichiers journaux /var/log
sans utiliser sudo
et quelques autres choses). Vous devez toujours utiliser sudo
lorsque vous êtes connecté en tant qu'administrateur - mais maintenant sudo demande encore et encore le mot de passe de l'administrateur chaque fois que vous n'avez pas utilisé sudo pendant environ cinq minutes.
Maintenant, déconnectez-vous et connectez-vous en tant qu'utilisateur "admin". Vérifier si
$ sudo apt-get update
$ sudo apt-get upgrade
travaux. Si tel est le cas, vous pouvez révoquer certains privilèges de l'utilisateur "pi", car vous êtes maintenant certain que votre utilisateur administrateur dispose des privilèges appropriés:
$ sudo deluser pi sudo
$ sudo deluser pi adm
Cela jette l'utilisateur "pi" du groupe d'utilisateurs "sudo".
$ sudo visudo
Cela lancera un éditeur qui vous permet de modifier /etc/sudoers
. Mettez une balise de hachage ( #
) avant la ligne commençant par "pi", commentez-la (ou supprimez-la simplement). Ensuite, enregistrez et quittez l'éditeur, visudo rechargera alors immédiatement les règles de privilège. Maintenant, l'utilisateur "pi" n'est plus autorisé à utiliser sudo.
Après cela, vous pouvez vous reconnecter en tant qu'utilisateur "pi". Si vous souhaitez un jour passer à l’administrateur pour certaines commandes, utilisez su
("Changer d’utilisateur"):
$ su - admin
Si vous voulez ajouter plus d'utilisateurs: utilisez sudo adduser <name>
comme ci-dessus, puis vérifiez la liste des groupes d'utilisateurs que l'utilisateur "pi" a:
$ groups pi
pi : pi dialout cdrom audio video plugdev games users netdev input
Utilisez sudo adduser <username> <groupname>
pour ajouter votre nouvel utilisateur à plusieurs de ces groupes d'utilisateurs, lui permettant d'utiliser l'audio, la vidéo accélérée, l'utilisation de périphériques enfichables, etc. En cas de doute, ajoutez-le à tous ces groupes d'utilisateurs (mais pas à "sudo"!).