J'ai vu de nombreux articles de blog qui disent que c'est suffisant pour faire
aptitude install sudo
su root
adduser USERNAME sudo
Mais cela ne fait que protéger aptitude
, en d'autres termes:
aptitude install sendmail
vous demandera un mot de passe, vous devez êtresudo
en cours d'exécutionaptitude
apt-get install sendmail
ne demandera pas de mot de passe, aucunsudo
privilège requisSi vous modifiez des fichiers protégés, comme les fichiers
etc
qu'ils contiennent ne demanderont pas de mot de passe, aucunsudo
privilège n'est requisVous pouvez exécuter et arrêter des services comme
apache
, il ne demandera pas de mot de passe, aucunsudo
privilège requis
Comment régler ceci? Voici mon fichier 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:$
# Host alias specification
# User alias specification
# Cmnd alias specification
C'est la sortie de sudo -l
:
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
sudo
root
not-root-user
debian
Lynob
la source
la source
su root
, vous êtes connecté en tantroot
qu'utilisateur, vous avez donc un accès complet à tout. Pour redevenir un utilisateur régulier qui doit utilisersudo
pour des opérations privilégiées, déconnectez-vous du shell qui s'exécute en tant queroot
.Réponses:
Vous n'avez ajouté aucune règle sudo, vous ne pouvez donc pas utiliser sudo pour quoi que ce soit.
La commande
adduser USERNAME sudo
ajoute l'utilisateur spécifié au groupe appelésudo
. Un groupe portant ce nom doit exister; créez-le avecaddgroup sudo
si ce n'est pas le cas. Après avoir ajouté l'utilisateur au groupe, l'utilisateur doit se déconnecter et se reconnecter pour que l'appartenance au groupe prenne effet.sudo
n'est pas un nom de groupe spécial. C'est une convention pour permettre aux utilisateurs du groupe appelésudo
d'exécuter des commandes en tant que root via l'sudo
utilitaire. Cela nécessite la ligne suivante dans lesudoers
fichier:Exécutez
visudo
pour modifier le fichier sudoers, ne le modifiez jamais directement.Je ne sais pas pourquoi vous croyez que "cela ne fait que protéger l'aptitude". L'aptitude n'a rien de spécial. Une fois que vous avez autorisé un utilisateur à exécuter des commandes en tant que root, cet utilisateur peut exécuter
sudo aptitude …
ousudo apt-get …
ousudo service …
, ousudoedit
pour modifier des fichiers qui nécessitent l'autorisation root pour modifier. Être dans le fichier sudoers ne change pas directement les privilèges de votre utilisateur, ce qu'il fait, c'est qu'il vous permet d'exécutersudo
pour exécuter des commandes en tant que root. Les commandes ne s'exécutent en tant que root que lorsque vous les exécutezsudo
. Certains programmes peuvent le faire automatiquement, en particulier les programmes GUI où l'interface utilisateur s'exécute sans privilèges spéciaux et seul le backend s'exécute en tant que root, mais les commandes exécutées en tant que root sont toujours exécutées parsudo
.la source
sudo -l
tant que root. Même s'il existait des définitions utiles pour les utilisateurs, elles n'auraient pas été affichées. Ainsi, votre supposition "Vous n'avez ajouté aucune règle sudo" peut être erronée.sudoers
fichier est dans la question.sudo -l
sortie mais heureusement ... Il semble que le contenu de la question ne puisse pas être le fichier entier car il n'est pas cohérent avec la sortie. Au moins masudo
version ne prétend pas "L'utilisateur root peut exécuter les commandes suivantes" avec unesudoers
sans définition de commande (comme celle de la question).sudo -l
simplement: "L'utilisateur root n'est pas autorisé à exécuter sudo sur darkstar". Et lesudo
groupe est dans le fichier sudoers par défaut sur Wheezy. Les entrées requises peuvent avoir été déplacées dans un fichier sous/etc/sudoers.d
. Dans tous les cas, quel que soit le fichier sudoers, il ne fera pas ce que Fischer suppose.Ce qui s'est peut- être produit est: sudo met en cache votre mot de passe. Ainsi, après avoir correctement terminé l'implémentation de sudo sur votre système, vous devez entrer le mot de passe pour la première commande, puis il est mis en cache pendant un certain temps. Si cela se produit et que vous exécutez la séquence
Ensuite, vous devrez fournir un mot de passe sur la première commande, mais pas sur la seconde (au moins pendant que vous êtes encore dans le délai). Cela peut sembler protéger uniquement la première commande, mais pas la seconde. Sans plus d'informations (transcriptions complètes du shell), il n'y a aucun moyen de savoir ...
la source
Si vous suivez la réponse ci-dessus, vous allez dans le bon sens. Au moins dans ma Debian Jessie, j'ai fait un lien logiciel vers / usr / bin de la commande dans le chemin / sbin. Par exemple: / sbin / ifup, j'ai mis un lien logiciel (ln -s) vers / usr / bin et je peux l'utiliser.
Une autre chose importante est de mettre NOPASSWD comme ceci:
la source