Je n'ai pas besoin d'un administrateur pour changer mon mot de passe root. Je ne veux pas qu'un utilisateur sudo exécute cette commande:
sudo passwd $root
Je l'ai essayé dans le fichier sudoers en utilisant la commande suivante:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
Comment puis-je le bloquer?
Réponses:
Selon le manuel sudoers :
C'est pourquoi votre politique sudoers ne fonctionne pas.
Si vous souhaitez empêcher l'utilisateur d'obtenir l'autorisation root et de modifier son mot de passe, essayez cette procédure:
En supposant que vos sudoers contiennent cette directive:
En supposant que votre nom d'utilisateur est
foo
, ses groupes sontfoo
etsudo
.groups
la sortie de la commande est:Supprimer l'utilisateur
foo
dusudo
groupe:gpasswd -d foo sudo
après cela, l'utilisateurfoo
ne peut exécuter aucune commande avec sudo.Modifier le fichier sudoers. Utilisez cette commande:
Définissez l'
foo
autorisation utilisateur , par exemple:Cela signifie que l'utilisateur
foo
peut exécuter toutes les commandes du répertoire, à l'/usr/bin/
exception de la commandepasswd
etsu
. Remarque: Si l'utilisateurfoo
souhaite modifier son mot de passe, peut exécuter lapasswd
commande sanssudo
.Un autre exemple de
foo
permission d' utilisateur :Cela signifie que l'utilisateur
foo
peut exécuter toutes les commandes du répertoire/usr/bin/
et est autorisé à modifier le mot de passe de n'importe qui, à l'exception de root sur TOUTES les machines.Vous pouvez définir des groupes de commandes en définissant
Cmnd_Aliases
et en créant des "niveaux d'autorisations". Vous pouvez trouver des exemples utiles dans la section EXEMPLE du manuel sudoers , et voici un lien utile sur la façon d'utiliser les sudoers.la source
foo ALL=/usr/bin/*, !/usr/bin/passwd
savoir pourquoi c'était le cas?ajouter un alias de commande via
visudo
:ajouter des restrictions via
visudo
:ajouter un utilisateur au groupe appelé nopasswdgroup:
la source