web-dev-qa-db-fra.com

sudo access vs wheel group

Je suis juste un peu confus ici. Lorsque vous êtes invité à autoriser un utilisateur Sudo à accéder à la machine. Dois-je simplement ajouter l'utilisateur au groupe de roues.

# usermod -aG wheel bob

Ou disons qu'il n'y a pas de groupe de roues ou qu'il est supprimé pour une raison quelconque.

alors comment puis-je accorder à Bob Sudo l'accès à la machine.

# which Sudo

J'obtiens le résultat: /usr/bin/Sudo

Alors, puis-je faire la ligne suivante:

bob     ALL=/usr/bin/Sudo

Mais je suis passé à l'utilisateur bob après et j'ai essayé d'exécuter

# Sudo iptables -L

puis il me donne ce message d'erreur:

Désolé, l'utilisateur bob n'est pas autorisé à exécuter '/ sbin/iptables -L' en tant que root

Et donc je ne sais pas comment donner à Sudo l'accès à la machine à un utilisateur si la roue de groupe n'est pas là. Et selon mes connaissances

bob       ALL=ALL    ALL

Fondamentalement, Bob a le même pouvoir que root, ce qui n'est pas bien.

Une autre question que j'ai est de savoir comment rendre tous les utilisateurs du système capables d'exécuter la dernière commande. Dois-je créer un groupe, puis ajouter tous les utilisateurs à ce groupe ou existe-t-il une autre méthode?

7
alkabary

Lorsque l'appartenance au groupe de roues donne à un utilisateur un accès root complet via Sudo, il est normalement configuré comme ceci dans le /etc/sudoers fichier:

%wheel    ALL=(ALL) ALL

Signification: "tous les membres du groupe wheel sur ALL hôtes peuvent Sudo à ALL comptes d'utilisateurs pour exécuter les commandes ALL." C'est donc exactement la même chose que votre "mauvaise" ligne:

bob      ALL=(ALL) ALL

Si vous souhaitez donner à un utilisateur (ou à un groupe) un accès complet à un autre compte d'utilisateur spécifique et rien d'autre, vous pouvez le faire de cette façon:

user     ALL=(targetuser) ALL
# or
%group   ALL=(targetuser) ALL

Ensuite, le ou les utilisateurs peuvent faire

$ Sudo -u targetuser command

pour exécuter rapidement des commandes individuelles en tant qu'utilisateur cible, ou

$ Sudo -iu targetuser

pour obtenir un Shell en tant qu'utilisateur cible, avec exactement le même environnement que l'utilisateur cible obtiendrait lors de la connexion directe.

Pour des raisons historiques, certaines personnes utilisent réflexivement

Sudo su - targetuser

dans le deuxième but. Cela nécessiterait de donner au moins aux utilisateurs en question un accès pour exécuter le `

su - targetuser 

en tant que root, et il sera plus difficile de reconstituer à partir des journaux ce que l'utilisateur a réellement fait. Cette commande était utile lorsque Sudo n'avait pas le -i option, mais je pense que cette option existe depuis une quinzaine d'années.

9
telcoM