Commande s'exécutant en tant que root mais pas avec sudo


1

Je suis en train de configurer un Samba 4 DC sur CentOS 7.

Comme moi, samba-tool fonctionne bien mais quand je cours sudo samba-tool Je reçois command not found.

samba-tool est situé dans /usr/local/samba/bin. J'ai ajouté le répertoire à PATH pour moi-même et pour root.

Comme moi, env | ^PATH= comprend correctement le répertoire ci-dessus. cependant, sudo env | ^PATH= montre seulement PATH=/sbin:/bin:/usr/sbin:/usr/bin.

Passons maintenant à l'utilisateur root. env | ^PATH= résultats PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/samba/bin:/usr/local/samba/sbin et samba-tool fonctionne très bien.

C’était mon intuition que sudo reflétait parfaitement l’utilisateur root, ce qui, je suppose, n’est pas le cas. Une solution et, espérons-le, une explication est hautement appréciée.


Essayez d'utiliser 'su', puis exécutez la commande sans 'sudo'.
TooMuchRAM

@ Thijs365 Je ne comprends pas, voulez-vous dire passer à la racine et exécuter la commande? Je sais déjà que ça marche.
Oliver Benning

D'accord. Êtes-vous sûr d'avoir installé sudo?
TooMuchRAM

@ Thijs365 Oui. Sudo fonctionne comme prévu pour son chemin env ci-dessus.
Oliver Benning

D'accord. Je ne dirai plus rien.
TooMuchRAM

Réponses:


1

Ce peut être votre sudo les usages PATH défini dans /etc/sudoers fichier, pas la racine PATH. Vérifier man 5 sudoers, Cherchez le secure_path option.

Vous pouvez aussi lire
Comment faire sudo préserver $ PATH?

Astuce: utiliser visudo éditer /etc/sudoers. L'outil effectue une vérification de cohérence et peut vous éviter la situation lorsque vous perdez un accès sudo en raison d'une modification non valide.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.