På Mac er det først og fremmest .app, men man kan sådan set i UNIX delen gøre en hvilken som helst fil eksekverbar, ved at skrive chmod +x filnavn i terminalen. Som regel vil det være et shell script (som man kan give endelsen .sh), et perl script (.pl), et ruby program (.rb) eller noget helt andet, men fælles for dem alle er at man ikke behøver en filendelse til at fortælle at filen er eksekverbar.
Glemte at skrive, at man sagtens kan give en fil endelser som .sh, .pl etc., men hvis man ikke sætter den til +x i UNIX, kan den ikke eksekveres alligevel.
Synes godt om
Slettet bruger
02. juli 2008 - 14:51#3
Problemet er at jeg gerne vil blokere for at der kan gemmes skadelige filer på brugerens maskine.
Brugeren modtager en fil fra en server, men kan selv bestemme fil-placering og filnavn. Jeg vil validere på at der ikke gemmes eksekverbare filer på brugerens maskine.
Er det sådan at ny-oprettet filer default er ikke-eksekverbare på Mac ?
Problemet er vel todelt. For umiddelbart er der ikke nogen endelse, der bestemmer eller sikrer, at et arkiv er eksekverbart på en Mac.
Det der ligner en fil med endelsen .app (og som man til dagligt ville kalde et program) dækker i virkeligheden over en mappe med en bestem struktur, hvor programmet og alle dets dele ligger samlet.
Rigtig eksekverbart i Unix-forstanden er alle arkiver, der har deres exekver-bit sat, som beskrevet ovenfor, og som shellen kan fortolke som et program - eller som er kompileret til at kunne køre i shellen.
Jeg er bange for, at du ikke bliver meget klogere; ;(
I øvrigt er det sådan, at de fleste programmer, man henter på nettet er pakket enten ved komprimering (og så ligger de som .zip f.eks.) eller som diskbillede (.dmg) men de kan jo også indeholde alt muligt nyttigt.
Som default er en fil ikke eksekverbar, medmindre der er tale om et program (der kan eksekveres i Finder) eller en UNIX executable, der er kendetegnet ved at have sat x-flaget. Denne kan afsløres ved at skrive ls -ls i det directory, filen ligger i. Den vil så blive listet med rwxrwxrwx eller lignende, indeholdende et eller flere x'er i listningen. Evt. kunne man lave et periodisk shell script, der scannede for x-filer i et bestemt directory, og så fjernede x-flaget. Dette ville eliminere risikoen.
Men for at køre en UNIX executable, skal du altså have til hensigt at gøre det. Det er ikke så "let" at komme til, som at køre skadelig kode i Windows.
Synes godt om
Slettet bruger
02. juli 2008 - 15:34#6
Jeg har en Java applet der modtager en fil fra en server og skriver den til brugerens maskine. Det er vel egentlig en ny-oprettelse af en fil, og hvis jeg forstår jer ret, så er helt ny-oprettede filer pr. default ikke eksekverbare.
Det vigtige for mig er at vide at der skal en manuel indblanding til for at der kan gå et eller andet galt.
En nyoprettet fil kan GODT være eksekverbar - hvis den bliver gemt som sådan af det, der gemmer den; men hvis det er dig, der sender filen, så kan du vel også bestemme noget over processen?
Du er velkommen til at sende mig en mail (sadyhr (snabel-a) mail (pkt) dk - eller give mig din mailadresse, så vi evt kunne ringe sammen og ende med at sende konklusionen her på experten ;-)
Synes godt om
Slettet bruger
18. august 2010 - 22:22#8
Ok, tak for hjælpen. Jeg splitter point imellem sd8220 og jjkeller.
Synes godt om
Slettet bruger
18. august 2010 - 22:24#9
Hvis I hver især opretter et svar, så kan jeg tildele point.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.