différence entre ./ et sh

batchy

Grand Maître
Utiliser ./xxx indique à ton shell que tu veux executer le fichier xxx dans le repertoire courant. après, si ce fichier contiens un shabang (comme #!/usr/bin/toninterpreteur) alors il va lancer /usr/bin/toninterpreteur ./xxx)
à noter le cas particulier ou si ce n'est pas un fichier binaire et qu'il n'y a pas de shabang, alors il va executer le script comme si c'était un script shell.

Utiliser sh xxx indique qu'il faut lancer l'interpreteur shell /bin/sh pour lui faire executer le script xxx. le shell est très con et va executer xxx même s'il ne sagit pas d'un script shell. si c'est pas le cas il plantera lamentablement. ( et si c'est en fait un script python il aura sûrement trouvé le moyen de faire quelques captures d'écran avant de planter ;) )
 

zeb

Modérateur
Sous UNIX, un utilisateur ne peut lancer un exécutable que s'il en a les droits d'une part et si le chemin de celui-ci est présent dans sa variable PATH d'autre part, à moins que ce chemin ne soit explicitement donné sur la line de commande.
Classiquement, la variable PATH de root est [fixed]/sbin:/bin[/fixed]
La variable PATH des autres utilisateurs est [fixed]/bin:.[/fixed]
(Il est fort probable qu'on y trouve aussi des chemins vers /usr, /opt, /X11, etc.)

On observe ainsi que root ne peut pas, à moins de le préciser explicitement, exécuter de programme qui se trouverait dans le répertoire personnel d'un utilisateur. Ceci pour des raisons de sécurité évidentes.

On remarque de la même manière que l'utilisateur semble pouvoir en faire plus que root. C'est là toute la subtilité de la chose, la sécurité dans ce cas étant assuré par les droits d'exécution, pas par la variable PATH.


Cet exemple montre bien à quel point UNIX (Linux) est un système bien pensé. Les tâches d'exploitation n'ont pas à être exécutées par root mais par un utilisateur dédié.
_______________________________


Sam, assure-toi d'utiliser le compte root à bon escient.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 059
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut