GNU/Linux >> Tutoriels Linux >  >> Linux

Quel chemin `sudo ` utilise-t-il pour rechercher " ?

J'ai installé eclipse dans mon répertoire personnel et mis son chemin dans PATH dans ~/.profile .

Donc ça marche par

$ eclipse 

Mais quand l'appeler avec sudo , eclipse n'est pas trouvé :

$ sudo eclipse 
sudo: eclipse: command not found

Quel PATH est-ce que sudo eclipse utiliser pour rechercher eclipse ? Est-ce l'utilisateur root PATH ?

Merci.

Réponse acceptée :

sudo par défaut utilise un minimal PATH , pour le rendre sûr pour une utilisation par la racine utilisateur. Ce n'est pas nécessairement le même que le PATH vous obtiendriez en vous connectant en tant que root utilisateur, ou en faisant

sudo su -

Par exemple, dans les nouvelles versions de Red Hat, j'ai remarqué que le chemin omet /usr/local/bin .

La page de manuel résume cela dans une section intitulée Notes de sécurité :

sudo essaie d'être sûr lors de l'exécution de commandes externes.

Il existe deux façons distinctes de traiter les variables d'environnement. Par défaut, le env_reset L'option sudoers
est activée. Cela entraîne l'exécution des commandes avec un environnement minimal contenant TERM , PATH , HOME , SHELL , LOGNAME , USER et USERNAME en plus des variables du processus d'appel
autorisées par le env_check et env_keep options sudoers. Il existe effectivement une liste blanche pour
les variables d'environnement.

Lectures complémentaires :

  • sudoers - liste des utilisateurs qui peuvent exécuter quoi

    secure_path
    Chemin utilisé pour chaque commande exécutée depuis sudo. Si vous ne faites pas confiance aux personnes qui exécutent sudo pour
    avoir une variable d'environnement PATH saine, vous pouvez l'utiliser. Une autre utilisation est si vous
    souhaitez que le "chemin racine" soit séparé du "chemin utilisateur". Utilisateurs du groupe
    spécifié par le exempt_group l'option ne sont pas affectées par secure_path . Cette option n'est pas
    définie par défaut.

  • sudo - exécuter une commande en tant qu'un autre utilisateur


Linux
  1. Pour quelle charge de travail avez-vous d'abord utilisé des conteneurs Linux ?

  2. Façon de rechercher des pages de manuel pour un scénario d'utilisation typique ?

  3. Comment un proxy Transparent Socks sait-il quelle adresse IP de destination utiliser ?

  4. Linux – Quelle application utiliser pour un calendrier ?

  5. Comment la commande Xdg-open sait-elle quelle application utiliser pour ouvrir un fichier ?

« nohup Sudo… » ne demande pas de mot de passe et ne fait rien ?

Comment utiliser Grep pour rechercher un modèle commençant par un trait d'union (-) ?

Sortie de canal à utiliser comme spécification de recherche pour grep sous Linux

Pourquoi rsync n'utilise-t-il pas delta-transfer pour les fichiers locaux ?

Comment définir le chemin pour les commandes sudo

Pourquoi utiliser sudo ?