web-dev-qa-db-fra.com

ajout de contenu local dans /etc/sudoers.d/ au lieu de modifier directement le fichier sudoers via visudo

Pouvez-vous me diriger vers des exemples et des instructions plus détaillées sur /etc/sudoers.d/

J'aimerais donner à Sudo une permission de groupe sur certaines commandes, mais de manière appropriée pour ne pas créer de failles inutiles dans le modèle de sécurité Ubuntu sur une machine multi-utilisateur.

Dans les temps anciens, j’avais fait quelques simples personnalisations de sudoers, mais apparemment, /etc/sudoers.d/ est une méthode plus appropriée et j’aimerais mieux la comprendre.

21
Pawel Debski

On dirait que personne n'a osé alors j'ai fait mes propres recherches. Voici les résultats.

Comme ce fil https://superuser.com/questions/869144/why-does-the-system-have-etc-sudoers-d-how-should-i-edit-it souligne/etc/sudoers est un fichier de configuration à l'échelle du système qui peut être modifié lors des mises à niveau du système et qui est extrêmement fragile face aux modifications incorrectes. C'est à dire. vous risquez de perdre l'accès au système ou d'éviter que le système ne démarre à la suite de modifications incorrectes.

$ Sudo 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.
#

(... some other content ...)

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

#includedir /etc/sudoers.d

Contraire à ce que vous pouvez penser de la directive #includedir n'est pas commenter. C'est valide et fonctionne pour inclure tous les fichiers dans le répertoire /etc/sudoers.d.

Le contenu de ce répertoire survit aux mises à niveau du système, et Sudo est très strict:

  1. Les erreurs dans le fichier n'ont pas causé l'échec de Sudo.
  2. Les règles de permission semblent moins strictes.

Par conséquent, il est moins probable que vous corrigiez le système avec vos erreurs.

$ ls -l /etc/sud*
-r--r----- 1 root root  755 sty 20 17:03 /etc/sudoers

/etc/sudoers.d:
total 7
-r--r----- 1 root root 958 mar 30  2016 README
$ Sudo cat /etc/sudoers.d/README
#
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
# 
#   #includedir /etc/sudoers.d
# 
# This will cause Sudo to read and parse any files in the /etc/sudoers.d 
# directory that do not end in '~' or contain a '.' character.
# 
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
# 
# Note also, that because sudoers contents can vary widely, no attempt is 
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable 
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
#

Veuillez noter que les fichiers de ce répertoire doivent être édités avec la commande visudo:

$ Sudo visudo -f /etc/sudoers.d/veracrypt
  GNU nano 2.5.3        File: /etc/sudoers.d/veracrypt.tmp                      

# Users in the veracryptusers group are allowed to run veracrypt as root.
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt

Veuillez noter que visudo peut utiliser différents éditeurs pour la tâche réelle, comme décrit ici: https://help.ubuntu.com/community/Sudoers

Voici quelques autres liens que j'ai trouvés utiles:

32
Pawel Debski