J'ai une ligne NOPASSWD dans / etc / sudoers (édité avec visudo
)
gatoatigrado ALL=(ALL) NOPASSWD: /bin/set-slow-cpufreq
Cependant, la sortie est,
gatoatigrado@coral:~> sudo -n /bin/set-slow-cpufreq
sudo: sorry, a password is required to run sudo
Ce type de commande fonctionne sur une machine OpenSuSE, mais pas sur Ubuntu 11.10. Qu'est-ce que je fais mal?
Remarque : Je ne trouve aucun message de journal système pertinent, par exemple via tail -f /var/log/syslog
.
modifier
Voici / etc / sudoers.
Defaults env_reset
# things I've tried copying from an opensuse machine
Defaults always_set_home
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
root ALL=(ALL:ALL) ALL
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
sudoers
, l'ordre des règles n'est pas sans importance.Réponses:
Vous devriez mettre cette ligne après la ligne avec la règle pour le
sudo
groupe, car, comme le dit lasudoers
page de manuel:la source
/etc/sudoers
et cela fonctionne maintenant. Explication complète ici aux personnes intéressées: techglimpse.com/ubuntu-sudoers-nopasswd-option-not-workingIdéalement, si vous personnalisez les commandes pouvant être exécutées via,
sudo
vous devez apporter ces modifications dans un fichier séparé sous/etc/sudoers.d/
plutôt que de les modifiersudoers
directement. Vous devriez également toujours utiliservisudo
pour éditer le (s) fichier (s).Exemple:
sudo visudo -f /etc/sudoers.d/slowcpu
Insérez votre ligne accordant la permission:
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
Puis enregistrez et quittez et
visudo
vous avertirons si vous avez des erreurs de syntaxe.Vous pouvez exécuter
sudo -l
pour voir les autorisations accordées à votre utilisateur. Si l'une desNOPASSWD
commandes spécifiques à l'utilisateur apparaît AVANT une%groupyouarein ALL=(ALL) ALL
commande dans la sortie, vous serez invité à entrer votre mot de passe.Si vous êtes en train de créer beaucoup de ces fichiers sudoers.d, vous voudrez peut-être les créer nommés par utilisateur pour faciliter leur visualisation. Gardez à l'esprit que l'ordre des NOMS DE FICHIERS et des règles dans le fichier est très important, le DERNIER chargé gagne gagne, qu'il soit PLUS ou MOINS permissif que les entrées précédentes.
Vous pouvez contrôler le classement des noms de fichiers en utilisant un préfixe 00-99 ou aa / bb / cc, mais n'oubliez pas que si vous avez des fichiers sans préfixe numérique, ils se chargeront après les fichiers numérotés. les paramètres. Cela s'explique par le fait que, selon vos paramètres de langue, le "tri lexical" utilisé par le shell trie les nombres en premier, puis entrelace les majuscules et les minuscules lors d'un tri "croissant".
Essayez de lancer
printf '%s\n' {{0..99},{A-Z},{a-z}} | sort
etprintf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
de voir si votre langue actuelle imprime,AaBbCc
etc., ouABC
ensuiteabc
de déterminer quel serait le meilleur préfixe de la dernière lettre à utiliser.la source
id
et voir à quels groupes vous appartenez.Juste couru dans cela aussi.
Ma situation est que je suis en train de mettre en place un système distant qui fonctionnera sans tête. J'ai activé le chiffrement intégral du disque (sinon, un attaquant disposant d'un accès physique peut faire tout ce qu'il veut.) Je souhaite utiliser uniquement la clé de publication (je vais supprimer le mot de passe afin que le schéma "avoir quelque chose, sache quelque chose" soit un mot de passe paire de clés protégée - la connexion root est bien entendu entièrement désactivée)
Le programme d'installation Ubuntu demande à un utilisateur administrateur non root d'être ajouté au groupe
sudo
. Je m'étais ensuite ajouté manuellement ausudoers
fichier en utilisantsudo visudo
:NOTE Si vous utilisez nopasswd sur votre ordinateur portable, vous devez toujours verrouiller votre ordinateur pendant que vous vous en éloignez. Sinon, un attaquant occasionnel peut faire beaucoup de compromis pendant que vous vous levez pour mettre de la crème dans votre café.
Je devais encore authentifier par mot de passe.
La réponse de enzotib est la clé de ce qui se passe. Le groupe sudo apparaît dans sudoers après l'entrée de mon nom d'utilisateur.
Plutôt que de déplacer mon entrée au-dessous de la ligne sudo, j’ai simplement supprimé la ligne que j’avais précédemment ajoutée puis ajoutée
NOPASSWD
à l’entrée pour%sudo
Cela semble fonctionner. Encore une fois, utilisez uniquement nopasswd si vous en avez vraiment besoin (dans mon cas, c’était exactement ce dont j’avais besoin, pour la plupart des utilisateurs nécessitant un mot de passe pour une activité sudo, c’est mieux)
AVERTISSEMENT supplémentaire: modifiez toujours les sudoers avec visudo. (sudo visudo) De plus, le fait d’avoir une autre fenêtre ouverte commutée sur l’utilisateur root vous permet de récupérer les erreurs éventuelles lors de la modification du fichier sudoers.
la source
sudo
qui utilise vos propres autorisations pour ajouter un autre utilisateur au groupe sudo en plus de l'exécution de la commande demandée.Sur le système distant, supprimez le cryptage, mais laissez la racine appartenir à la racine, comme dans le groupe des "Administrateurs" - ce n'est pas 0!
Vous pouvez modifier
#sudo -g Administrators
ceux qui nécessitent un accès complet - pas dans lesudo
fichier, mais dans le.login
profil. N'importe quel script standard peut maintenant avoir accès à la télécommande en tant que "racine" et vous pouvez protéger les fichiers qui doivent être protégés.Un autre "groupe" pratique est "Sandbox" avec un répertoire de connexion dans le cache du navigateur et peut le lire librement et rien d'autre. Utilisez le premier caractère majuscule.
la source