web-dev-qa-db-fra.com

Sudo ne demande pas de mot de passe sur Ubuntu 16.04

Depuis que je mets à jour en 16.04, je remarque que chaque fois que j'utilise une commande Sudo, le terminal ne me demande pas le mot de passe avant d'exécuter la commande. La commande est exécutée directement. Je suis l'administrateur et je n'ai pas d'autre compte d'utilisateur.

J'ai vu Sudo ne demande pas de mot de passe et mon/etc/sudoers est exactement comme indiqué dans la réponse, mais quand vous utilisez la commande Sudo, le terminal n'invite pas un mot de passe à la place, exécute la commande.

Je voudrais savoir en détail comment peut /etc/sudoers peut être modifié pour

  • Faire en sorte qu'un compte d'utilisateur particulier (y compris un administrateur) soit invité ou non à entrer un mot de passe lors de l'utilisation de la commande Sudo.

  • Comment exclure une commande particulière à exclure de l'invite de mot de passe lors de l'utilisation de Sudo pour un compte d'utilisateur (y compris un administrateur).

Voici mon fichier sudoers

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset,timestamp_timeout=0

# Uncomment to allow members of group Sudo to not need a password
# %Sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification root ALL=(ALL) ALL

# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Sortie de Sudo -l

Matching Defaults entries for bharat on ratcoder:
    env_reset, timestamp_timeout=0

User bharat may run the following commands on ratcoder:
    (ALL) NOPASSWD: ALL
1
bha159

Une règle NOPASSWD a été appliquée à votre utilisateur dans un fichier de /etc/sudoers.d. Utilisez Sudo grep NOPASSWD /etc/sudoers.d -R pour savoir lequel.

Votre /etc/sudoers n'est pas celui par défaut. La valeur par défaut sudoers peut être obtenue en consultant le package Sudo:

$ apt-get download Sudo
Get:1 http://mirror.cse.iitk.ac.in/ubuntu xenial-updates/main AMD64 Sudo AMD64 1.8.16-0ubuntu1.1 [389 kB]
Fetched 389 kB in 0s (4,750 kB/s)
$ dpkg-deb --fsys-tarfile Sudo*.deb | tar x ./etc/sudoers
$ cat etc/sudoers 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group Sudo to execute any command
%Sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Ceci est assez différent de ce que vous avez. Restaurez /etc/sudoers à la valeur par défaut.

Pour exclure des commandes spécifiques de l’exigence d’un mot de passe, voir Comment exécuter des commandes Sudo spécifiques sans mot de passe?

1
muru

Editez votre fichier sudoers en utilisant Sudo visudo.

Trouvez cette ligne: Defaults env_reset et remplacez-la par ceci:

Defaults env_reset,timestamp_timeout=0

Cela oblige Sudo à demander un mot de passe chaque fois que vous l'exécutez.

0
Stormlord

L'OP ne mentionne pas quel utilisateur est l'utilisateur admin. Il est probable que ce soit un compte utilisateur créé (et donc cela peut ne pas s'appliquer), mais pour les autres personnes qui tombent sur ce fil, je le mentionne: lors de l'utilisation de l'AMI Ubuntu 16.04 actuelle sur AWS, l'utilisateur ubuntu par défaut ne le fait pas. nécessite un mot de passe pour Sudo afin que cloud-init puisse l'utiliser pour s'exécuter. Cet accès est défini dans /etc/sudoers.d/90-cloud-init-users, comme suit:

# User rules for ubuntu
ubuntu ALL=(ALL) NOPASSWD:ALL
0
Ville