Lorsque l'utilisateur exécute une commande en utilisant le chemin d'accès complet, le shell utilise ce chemin pour trouver la commande. Toutefois, lorsque des utilisateurs n'indiquent qu'un nom de commande, le shell recherche cette commande dans les répertoires, selon l'ordre indiqué par la variable chemin. Si la commande est trouvée dans l'un des répertoires, le shell exécute la commande.
Un chemin d'accès par défaut est défini par le système. Cependant, la plupart des utilisateurs le modifient pour ajouter d'autres répertoires de commande. De nombreux problèmes d'utilisateur en matière de configuration de l'environnement et d'accès à la version correcte d'une commande ou d'un outil sont dus à la définition inappropriée des chemins d'accès.
Lors de la configuration des variables PATH, vous devez prendre en compte les lignes directrices suivantes :
Si vous devez inclure le répertoire actuel (.) dans le chemin d'accès, il doit être placé en dernier. Inclure le répertoire actuel dans le chemin d'accès constitue un risque de sécurité, car certaines personnes malveillantes peuvent cacher un script ou un fichier exécutable compromis dans le répertoire actuel. Vous pouvez envisager d'utiliser les noms de chemin absolus à la place.
Conservez le chemin de recherche aussi court que possible. Le shell effectue des recherches dans chaque répertoire du chemin d'accès. Si aucune commande n'est trouvée, de longues recherches peuvent ralentir les performances du système.
Le chemin de recherche est lu de gauche à droite, de sorte que vous devez placer les répertoires de commandes fréquemment utilisées au début du chemin.
Assurez-vous que les répertoires ne sont pas dupliqués dans le chemin d'accès.
Evitez, dans la mesure du possible, d'effectuer des recherches dans des répertoires volumineux. Placez les répertoires volumineux à la fin du chemin.
Placez les répertoires locaux avant les répertoires montés sur NFS afin de diminuer les risques une augmentation de la quantité de la NFS réactif lorsque le système serveur ne répond pas. Cette stratégie permet également de réduire le trafic réseau inutile.