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.

Oliver Benning
la source
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.

Kamil Maciorowski
la source