Re: shebang?

[email protected] (Jonas Brømsø Nielsen) Tue, 3 May 2011 11:26:18 +0200
Newsgroups perl.copenhagen
Message-ID <[email protected]>
Hej Jørgen,

On 03/05/2011, at 11.14, Jørgen Elgaard Larsen wrote:

> Jonas Brømsø Nielsen skrev:
>> 	#!perl
> 
> Det betyder blot: Brug den perl, der ligger i min $PATH.
> 
> Shebang siger bare, hvilken kommando, der skal bruges til at køre scriptet. Normalt angiver man en fuld sti, men det er fuldt lovligt at bruge en relativ sti eller forlade sig på søgestien.
> 

Dette har jeg ikke kunne få til at virke på OSX / GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0), derfor min tvivl om netop denne linie.

> Fordelen er naturligvis, at scriptet kan køres i flere miljøer, hvor perl ligger forskellige steder. Og at bruigeren kan installere sin egen perl og bruge den, hvis blot den ligger før den system-installerede i $PATH.
> 
> Ulempen er naturligvis, at det kan have uforudsete konsekvenser for en bruger, der har en bizar perl i sin søgesti.
> 

Policien er netop tiltænkt at assistere med at uniformere dette, så udviklere som har en anden konfiguration op deres arbejdsstation tvinges til at benytte end af de tilladte shebang linier.

> Og så er der det sikkerhedsmæssige problem. Hvis du som priviligeret bruger kører et script, som en anden bruger har lavet, kan han have lagt et onsindet program kaldet "path" et sted i søgestien.
> 
> Men på den anden side kunne han også bare have lavet de onde ting i scriptet.
> 
> Overvej f.x. denne shebang-linie:
> 
>  #!rm -rf /
> 

Policien vil kræve at du specificerer denne hvis du ønsker at tillade samme

> 
> 
> - Jørgen