[unix] Veiligheid: bestanden beginnend met een -

Pagina: 1 2 Laatste
Acties:
  • 420 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 31 oktober 2004 @ 19:58:
[...]

Iets als rm -* of rm -- -*?
Je zegt net dat je wildcards met een - erin niet wilt expanden? Maar dus wel als je wildcard toevallig met een - begint? Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
blaataaps schreef op 31 oktober 2004 @ 20:08:
Je zegt net dat je wildcards met een - erin niet wilt expanden? Maar dus wel als je wildcard toevallig met een - begint? Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.
* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.
Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.
Ben jij toevallig ook voorstander van alleen werken onder root?
Dat is ook compleet voorspelbaar enzo.

[ Voor 22% gewijzigd door Olaf van der Spek op 31-10-2004 20:13 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 20:12:
[...]

* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.
Fout. Het zijn allebei globs.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 20:17:
Fout. Het zijn allebei globs.
Ik had het over wildcards, niet globs.

Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 31 oktober 2004 @ 20:12:
[...]

* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.
* is technisch gezien ook een string met een wildcard, namelijk alleen die wildcard, maar ik zie je punt nu iets meer. Er zijn vast ook wel andere tekens die door bepaalde programmas geinterpreteerd worden als opties in plaats van bestanden, moeten we die ook allemaal gaan overslaan met globbing?
[...]

Ben jij toevallig ook voorstander van alleen werken onder root?
Dat is ook compleet voorspelbaar enzo.
Wat dat er mee te maken heeft ontgaat me helaas volledig.

Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

TrailBlazer schreef op 31 oktober 2004 @ 18:33:
[...]

hmm op mijn werk hebben we een tftpboot dir met 12000 routerconfigs erin. daar wordt je dan ook niet echt vrolijk van. Deze moet namelijk read write voor everybody zijn
Als je nog een stukje terugleest, zie je ook dat ik zei dat het wel degelijk kwaad kan dat je als user alleen alle files kunt verwijderen waar je rechten voor hebt ;)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 20:18:
[...]

Ik had het over wildcards, niet globs.
* is een glob. Net als [aAbB].

Je matched met 'foo*' alles wat met foo begint, met '[ab]*' alles met een of een b begint, en met '*' gewoon alles.

Nogmaals, er is geen probleem. Ik snap nog steeds niet waarom er een probleem gemaakt wordt hier. '*' doet gewoon precies wat je wilt: een lijst geven van alle files in de huidige directory. Als je daar './' voorzet ('./*') krijg je een lijst met alle files in de huidige directory met './' ervoor. Dat is ook precies de manier waarop je files beginnend met een '-' weghaalt: 'rm ./-file'.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
blaataaps schreef op 31 oktober 2004 @ 20:19:
* is technisch gezien ook een string met een wildcard, namelijk alleen die wildcard, maar ik zie je punt nu iets meer.
Waar beweerde ik dat dat niet het geval was dan?
Er zijn vast ook wel andere tekens die door bepaalde programmas geinterpreteerd worden als opties in plaats van bestanden, moeten we die ook allemaal gaan overslaan met globbinng?
Dat hangt ervan af. Als die apps vaak gebruikt worden, misschien wel.
Patchen om gewoon - te gebruiken voor opties kan ook.
Wat dat er mee te maken heeft ontgaat me helaas volledig.
Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")

[ Voor 8% gewijzigd door Olaf van der Spek op 31-10-2004 20:38 ]


Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

OlafvdSpek schreef op 31 oktober 2004 @ 20:23:
Wat dat er mee te maken heeft ontgaat me helaas volledig.
Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")
Zullen we die discussie maar laten varen? Dat gaat nergens over, we hadden het over gewenst gedrag van een shell, niet van de gebruiker die daar gebruik van maakt.
Daarnaast is het ook nog eens ontzettende onzin :P
Ik ben allang blij dat je onder Windows XP niet allemaal meer standaard administrator bent, nu verschuiven de virussen tenminte van user-based naar exploit-based :P

[ Voor 23% gewijzigd door dawuss op 31-10-2004 20:26 ]

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 31 oktober 2004 @ 20:23:
[...]

Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")
Veel mensen vinden een computer gebruiken ook ingewikkelder dan een typmachine, dat is natuurlijk een non-argument en slaat nergens op. Voor de rest sluit ik me nogmaals aan bij cyber hierboven, er IS geen probleem, men maakt het een probleem, en als iemand het echt zo'n groot probleem vindt, bash en rm op de meeste linux-systemen zijn gereleased onder de GPL, en ik wil die mensen dan ook van harte aanmoedingen het naar eigen goeddunken te patchen.

[ Voor 18% gewijzigd door blaataaps op 31-10-2004 20:27 ]


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
en slaat nergens op.
Gebruik het ingewikkelder zijn van iets dan ook niet als (tegn)argument.
CyBeR schreef op 31 oktober 2004 @ 20:22:
* is een glob. Net als [aAbB].
Dat kan best zo zijn, maar ik had het niet over globs. Ik had het over de/het wildcard (karakter) zelf.
Maar dit is gewoon een implementiedetail. Het idee is om - en -- te voorkomen, tenzij de gebruiker er zelf om gevraagd heeft
Nogmaals, er is geen probleem.
Volgens jou niet, volgens anderen wel.
Waarom zou de situatie niet 'verbeterd' kunnen worden?

[ Voor 13% gewijzigd door Olaf van der Spek op 31-10-2004 20:42 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 20:41:

Volgens jou niet, volgens anderen wel.
Waarom zou de situatie niet 'verbeterd' kunnen worden?
Omdat dit gedrag exact is wat je er van verwacht. Of zou jij het logisch vinden dat software opeens iets anders gaat doen dan waar je om vraagt? Ik vraag door het gebruik van '*' in een glob om alle files die matchen. Dus ook files die beginnen met een -. Sommige tooltjes gebruiken ook + voor argumenten, moeten we die dan ook maar weglaten? Andere apps hebben helemaal geen prefix nodig. Bij nader inzien denk ik dat we globs maar beter helemaal af kunnen schaffen. Da's mischien 'makkelijker'.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 20:45:
Omdat dit gedrag exact is wat je er van verwacht.
Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
Of zou jij het logisch vinden dat software opeens iets anders gaat doen dan waar je om vraagt? Ik vraag door het gebruik van '*' in een glob om alle files die matchen. Dus ook files die beginnen met een -.
Dan zet je zo'n veiligheidsoptie toch niet aan?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 20:50:
[...]

Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
Dus als jij vraagt om een lijst met alle files, dan verwacht je slechts een deel daarvan te krijgen?

Vreemd.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

OlafvdSpek schreef op 31 oktober 2004 @ 20:50:
[...]

Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
Jawel, het is wel wat iedereen ervan verwacht: Zo is het al 20 jaar.
Dan zet je zo'n veiligheidsoptie toch niet aan?
En dan? Dan weet je vantevoren, als je je scripts schrijft, nooit meer of je gebruiker het aan of uit heeft staan. Lekker ambiguun wordt het dan, dan zaag je de hele logiscje basis onder de bash shell uit.

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 20:54:
Dus als jij vraagt om een lijst met alle files, dan verwacht je slechts een deel daarvan te krijgen?

Vreemd.
Hoezo alle bestanden?
Bestanden die beginnen met een punt worden toch ook niet gematched?
Bovendien gaat het dus vooral om de combinatie met rm en andere utilities.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
dawuss schreef op 31 oktober 2004 @ 20:57:
Jawel, het is wel wat iedereen ervan verwacht: Zo is het al 20 jaar.
Waarom is er dan een topic met 100+ posts over?
En dan? Dan weet je vantevoren, als je je scripts schrijft, nooit meer of je gebruiker het aan of uit heeft staan. Lekker ambiguun wordt het dan, dan zaag je de hele logiscje basis onder de bash shell uit.
Je gaat me toch niet vertellen dat je denkt dat zo'n implementatie detail niet opgelost kan worden?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 20:57:
[...]

Hoezo alle bestanden?
Bestanden die beginnen met een punt worden toch ook niet gematched?
Dat is dan ook de reden dat ze met een punt beginnen: zodat ze niet gematched worden.
OlafvdSpek schreef op 31 oktober 2004 @ 20:59:
[...]

Waarom is er dan een topic met 100+ posts over?
Omdat sommige mensen hier een probleem zien waar dat er niet is.

[ Voor 29% gewijzigd door CyBeR op 31-10-2004 21:02 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

OlafvdSpek schreef op 31 oktober 2004 @ 20:59:
[...]

Waarom is er dan een topic met 100+ posts over?
Omdat een enkele topicstarter zich dit bedacht, en er een handjevol mensen hier over speculeert?
Je gaat me toch niet vertellen dat je denkt dat zo'n implementatie detail niet opgelost kan worden?
Het kan niet worden opgelost zonder backwards compatibility te verliezen, en ook al implementeer je het op deze manier, dan is de functionaliteit van de shell niet meer "eenvoudig en eenduidig".
Ik haal even een quote van mezelf aan:
dawuss schreef op 29 oktober 2004 @ 19:57:
De Unix filosofie is dat er een heleboel kleine tooltjes zijn, met allemaal een kleine, maar welgedefinieerde functie. Je weet van alle kleine dingen, dus ook de shell, hoe ze werken, en kunt die functionaliteit combineren. Ga je echter met die simpele functionaliteit knoeien, door bijvoorbeeld je shell semi-intelligent te maken, dan ondermijn je daarmee het verwachtingspatroon van je gebruiker.
Heb je geen zin om zo'n verwachtingspatroon te ontwikkelen? Blijf dan gewoon lekker bij grafische frontends, die zijn er tenslotte voor ontwikkeld zich aan te passen aan jouw gedachtenpatroon :)
Voor meer over (grafische) gebruikersinterfaces, zijn je keywords "Human Media Interaction" :)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 21:01:
Dat is dan ook de reden dat ze met een punt beginnen: zodat ze niet gematched worden.
Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?
dawuss schreef op 31 oktober 2004 @ 21:03:
Het kan niet worden opgelost zonder backwards compatibility te verliezen.
Waaorm niet?

[ Voor 26% gewijzigd door Olaf van der Spek op 31-10-2004 21:07 ]


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 21:05:
[...]

Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?
De naam begint met een punt om niet onder 'alle' te vallen. Daar verwacht je dus dat ze niet matchen. Net zoals je ze niet ziet in 'ls'. Files die beginnen met een - zie ik wel in ls, dus verwacht ik dat ze matchen.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 21:09:
De naam begint met een punt om niet onder 'alle' te vallen. Daar verwacht je dus dat ze niet matchen. Net zoals je ze niet ziet in 'ls'. Files die beginnen met een - zie ik wel in ls, dus verwacht ik dat ze matchen.
Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.

Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 21:13:
[...]

Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.

Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?
De enige uitzondering die er is, is de punt. We kunnen (en willen) niet meer uitzonderingen maken omdat dat a) bestaande programma's en scripts die afhankelijk zijn van het bestaande, normale gedrag breekt en b) we dan net zo goed alles wat begint met een 'p' kunnen hiden zodat we niet perongeluk /etc/passwd weggooien. Anders gezegd: dan is het hek van de dam.


Eigenlijk komt het op het volgende neer: If you can't stand the heat, get out of the kitchen. Of anders gezegd: Als je niet weet hoe je met een shell om moet gaan, blijf er dan met je poten van af.

Realiseer je je, dat een dergelijke verandering met terugwerkende kracht in alle UNIXen en UNIX-achtigen geimplementeerd zou moeten worden? En dat als dat gebeurd is, alle programma's en alle scripts gecontroleerd en in sommige gevallen aangepast zouden moeten worden? Wil jij het dan voor ons doen?

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 31 oktober 2004 @ 21:13:
[...]

Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.

Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?
Dat kan prima, maar om nu een afspraak te maken die een scriptingstandaard en een verwachting die al 30 jaar bestaan en voldoen schendt omdat sommige programmas een - interpreteren als optie, lijkt me op grote schaal kansloos en zinloos. Niks staat je echter in de weg de OvdSsh te maken :)

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
CyBeR schreef op 31 oktober 2004 @ 21:19:
De enige uitzondering die er is, is de punt. We kunnen (en willen) niet meer uitzonderingen maken omdat dat a) bestaande programma's en scripts die afhankelijk zijn van het bestaande, normale gedrag breekt en b) we dan net zo goed alles wat begint met een 'p' kunnen hiden zodat we niet perongeluk /etc/passwd weggooien. Anders gezegd: dan is het hek van de dam.
Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

OlafvdSpek schreef op 31 oktober 2004 @ 21:23:
[...]

Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?
Omdat 't hele zooitje dan een grote ononderhoudbare klucht wordt.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Welk zooitje?

Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

OlafvdSpek schreef op 31 oktober 2004 @ 21:23:
[...]

Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?
Hier keer je de bewijslast om ;)
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk :)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
dawuss schreef op 31 oktober 2004 @ 21:27:
[...]

Hier keer je de bewijslast om ;)
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk :)
Meegeven als een optie (en dan hopelijk een die begint met een -, anders werkt de optie niet op zichzelf), zodat je heerlijk unportable schell-scripts kun schrijven, #!/bin/sh --do-silly-stuff.

Ik begin nu de indruk te krijgen dat iedereen tegen beter weten in op elkaar inlult zonder een steek verder te komen. Hoewel het allemaal in principe wel on-topic is, wil ik toch verzoeken er geen simpele "welles-nietus"-wedstrijd van te maken :)

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
dawuss schreef op 31 oktober 2004 @ 21:27:
Hier keer je de bewijslast om ;)
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk :)
Jij claimt toch dat het niet kan?
Ik vraag je om die claim te onderbouwen, maar dat kan blijkbaar niet.

Maar een manier lijkt mij om de optie via een environment variabele in te schakelen en alleen toe te passen op interactive terminals.

[ Voor 9% gewijzigd door Olaf van der Spek op 31-10-2004 21:38 ]


Acties:
  • 0 Henk 'm!

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 10-02 23:00
Ik denk dat de shell aanpassen niet erg handig is.

Er zijn 2 mogelijkheden
1) Unix aanpassen, en zorgen dat de shell meegeeft aan een programma wat opties zijn en wat bestanden, en dat allemaal op een heel standaard manier, voor alle bestanden gelijk.
2) Makers van tools als rm vertellen dat ze bij hun schakelopties eerst kijken of het ook om een bestand kan gaan, en zo ja, een vraag stellen, of dat bestand verwijderen, eventueel nog met een optie als "altijd bestand verwijderen" "altijd commando uitvoeren".

Dit is gewoon iets waar programmeurs rekening mee moeten houden, het is gewoon een bug.

Ik bedoel, je kunt iedere bug wel een feature gaan noemen.

Een veiligheidslek in Apache? Nee jo, da's remote access tot m'n machine. 8)7

Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
OlafvdSpek wil je ajb ophouden met het wellus nietus spelletje wat je hier speelt? Kom jij maar met eens stuk code waar jij in aantoont dat het MET behoud van de huidige scripts die er zijn aangepast kan worden en dan praten we verder. Doe je dat niet dan heb je je punt nu wel gemaakt, gezien dat er mensen het niet met je eens zijn juist omwille van die backwards compatible-heid en zul jij dus moeten aantonen dat het wel kan. Daarmee sluit ik dus ook die discussie en geef ik je 1 tip, begin er niet weer over zonder met bewijs te komen want je zit hier verschrikkelijk te irriteren zonder met feiten te komen.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
pierre-oord schreef op 31 oktober 2004 @ 23:00:
Ik denk dat de shell aanpassen niet erg handig is.

Er zijn 2 mogelijkheden
1) Unix aanpassen, en zorgen dat de shell meegeeft aan een programma wat opties zijn en wat bestanden, en dat allemaal op een heel standaard manier, voor alle bestanden gelijk.
2) Makers van tools als rm vertellen dat ze bij hun schakelopties eerst kijken of het ook om een bestand kan gaan, en zo ja, een vraag stellen, of dat bestand verwijderen, eventueel nog met een optie als "altijd bestand verwijderen" "altijd commando uitvoeren".

Dit is gewoon iets waar programmeurs rekening mee moeten houden, het is gewoon een bug.

Ik bedoel, je kunt iedere bug wel een feature gaan noemen.

Een veiligheidslek in Apache? Nee jo, da's remote access tot m'n machine. 8)7
De vraag is of het een bug in bash is, en daarop is het antwoord gewoon nee. Je weet hoe de shell werkt, je weet hoe je er mee om moet gaan of niet. Je weet hoe globbing werkt of niet.
Dan kan je wel alles wat jij niet als gewenst gedrag ziet als bug aanmerken, maar alle shells doen het al 30 jaar op deze manier en denk je nou werkelijk dat al die mensen voor ons er niet over nagedacht hebben? Die wisten gelukkig hoe ze met een shell om moesten gaan en vonden dit dus gewenst/verwacht gedrag.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Zwerver schreef op 31 oktober 2004 @ 23:05:
OlafvdSpek wil je ajb ophouden met het wellus nietus spelletje wat je hier speelt? Kom jij maar met eens stuk code waar jij in aantoont dat het MET behoud van de huidige scripts die er zijn aangepast kan worden en dan praten we verder.
Zoals ik al zei:
Maar een manier lijkt mij om de optie via een environment variabele in te schakelen en alleen toe te passen op interactive terminals (en dus niet in scripts).
Waarom zou dit idee omgezet moeten worden in (concept) code om te laten zien dat het kan werken?
Bovendien heb ik hierboven net aangegeven waarom ik vind dat ik niet de bewijslast omdraai en heb ik volgens mij niet een keer wellus gezegd.

[ Voor 24% gewijzigd door Olaf van der Spek op 31-10-2004 23:28 ]


Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
OlafvdSpek schreef op 31 oktober 2004 @ 23:19:
[...]

Zoals ik al zei:

[...]

Waarom zou dit idee omgezet moeten worden in (concept) code om te laten zien dat het kan werken?
Bovendien heb ik hierboven net aangegeven waarom ik vind dat ik niet de bewijslast omdraai en heb ik volgens mij niet een keer wellus gezegd.
Omdat jij beweert dat je op die manier backwards compatible bent en mensen met kennis van de shell (blaataaps, CyBeR, dawuss e.d.) heel duidelijk aangeven dat dit niet waar is. Sowieso is het nou eenmaal zo dat je een bewering dient te staven.
Nee je hebt geen wellus gezegt, maar je probeerd wel uit alle macht je zin te krijgen en dus vragen we nu om een proof of concept. Kan je die niet geven dan slaat je bewering dus nergens op. Net zo goed dat als bijv. ik moet aantonen dat mijn buurman idd zijn eigen tv gejat heeft om de verzekering te liften.

Nog even over die env vars. Dat houd dus in dat je een script kan hebben wat je hele dir leeggooit en je het dus alleen voor de onhandige gebruiker aanpast. Niet werkbaar dus ;)

[ Voor 9% gewijzigd door Zwerver op 31-10-2004 23:55 ]

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Zwerver schreef op 31 oktober 2004 @ 23:54:
Omdat jij beweert dat je op die manier backwards compatible bent en mensen met kennis van de shell (blaataaps, CyBeR, dawuss e.d.) heel duidelijk aangeven dat dit niet waar is. Sowieso is het nou eenmaal zo dat je een bewering dient te staven.
Ik heb na mijn post van zondag 31 oktober 2004 21:36 waarin ik het heb over een idee voor een concrete implementatie nog geen post van een van hen gezien.
Nee je hebt geen wellus gezegt, maar je probeerd wel uit alle macht je zin te krijgen en dus vragen we nu om een proof of concept. Kan je die niet geven dan slaat je bewering dus nergens op.
Welke bewering?
Volgens mij heb ik nergens gezegd dat ik zeker weet dat het wel backwards compatible kan.
Nog even over die env vars. Dat houd dus in dat je een script kan hebben wat je hele dir leeggooit en je het dus alleen voor de onhandige gebruiker aanpast. Niet werkbaar dus ;)
Voor de handige gebruiker was het toch geen probleem?

[ Voor 5% gewijzigd door Olaf van der Spek op 01-11-2004 00:23 ]


Acties:
  • 0 Henk 'm!

Verwijderd

@OlafvdSpek:

Waarom zou je in de naam der unix goden er voor willen zorgen dat de Shell anders reageert op een script dan op de input van de gebruiker.
Nou ik weet wel waarom niet.

Het idee van een script is dat het de taak van een admin/gebruiker over neemt. In essentie is het dus het idee dat het om de directe commando's gaat die de admin ook in zou typen.
Geen wonder dan ook dat veel scripts geboren worden via het commando history > blaat.sh
Dit omdat je wilt dat het script "precies" doet wat jij ook zou doen.
Elke en daarmee bedoel ik ELKE verandering tussen het uitvoeren van commando's van een admin in sequentie of een script, is dodelijk.
En dan mogelijk nog niet zozeer vanuit practiese reden als wel de gedachte die erachter zit.

Immers het script IS de gebruiker/admin, echter de admin/gebruiker is een goede admin/gebruike en dus te lui om zich met zulke zaken te bemoeien.

Acties:
  • 0 Henk 'm!

Verwijderd

Dus dan heb je het misschien voor rm opgelost, maar zijn andere progs (die geen '-' als prefix gebruiken) nog steeds vatbaar voor dit soort spul. Of het moet zijn dat je een standaard wilt stellen dat alle progs '-' gebruiken..
edit:
ow.. 2 pagina's :X

[ Voor 9% gewijzigd door Verwijderd op 01-11-2004 07:47 ]


Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
OlafvdSpek schreef op 01 november 2004 @ 00:19:
[...]

Ik heb na mijn post van zondag 31 oktober 2004 21:36 waarin ik het heb over een idee voor een concrete implementatie nog geen post van een van hen gezien.
Waarom denk je dat ze niet reageren? Omdat jij ubermachtig en alwetend bent? Of omdat ze zien dat jij toch je ongelijk niet zal willen toegeven... Soms hebben mensen wel de sociale vaardigheden om zich te ontrekken aan een discussie als ze zien dat de "tegenpartij" niet bereid is te luisteren naar argumenten.
[...]

Welke bewering?
Volgens mij heb ik nergens gezegd dat ik zeker weet dat het wel backwards compatible kan.


[...]
Dit geeft imho alleen maar aan dat je niet weet wat je zelf beweerd.
Voor de handige gebruiker was het toch geen probleem?
Zie wat Aapopfiets hierboven zegt. Je wil scripts geen andere env geven dan de user omdat scripts eigenlijk gewoon de taken overnemen van een user.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 01 november 2004 @ 01:01:
@OlafvdSpek:
Waarom zou je in de naam der unix goden er voor willen zorgen dat de Shell anders reageert op een script dan op de input van de gebruiker.
Nou ik weet wel waarom niet.

Het idee van een script is dat het de taak van een admin/gebruiker over neemt. In essentie is het dus het idee dat het om de directe commando's gaat die de admin ook in zou typen.
Geen wonder dan ook dat veel scripts geboren worden via het commando history > blaat.sh
Dit omdat je wilt dat het script "precies" doet wat jij ook zou doen.
Volgens mij werkt ~ ook niet in scripts, dus dat scripts en de command line equivalent zijn is nu al niet waar.
En als scripts last zouden hebben van deze bug/feature, zijn ze dan wel safe?
Zwerver schreef op 01 november 2004 @ 10:11:
Waarom denk je dat ze niet reageren? Omdat jij ubermachtig en alwetend bent? Of omdat ze zien dat jij toch je ongelijk niet zal willen toegeven... Soms hebben mensen wel de sociale vaardigheden om zich te ontrekken aan een discussie als ze zien dat de "tegenpartij" niet bereid is te luisteren naar argumenten.
Dat was de vraag niet.
Bovendien ben ik dus nog steeds op zoek naar argumenten waarom het (mijn idee met env en alleen interactive terminals) niet zou kunnen werken.

[ Voor 32% gewijzigd door Olaf van der Spek op 01-11-2004 10:19 ]


Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 01 november 2004 @ 10:14:
[...]

Volgens mij werkt ~ ook niet in scripts
Volgens mij wel, sterker nog, dat weet ik wel zeker, of de /bin/sh op freebsd heeft een "bug" dat het wel werkt.
dus dat scripts en de command line equivalent zijn is nu al niet waar.
er zijn inderdaad verschillen, die zijn er al jaren en die zijn bekend, het voorbeeld dat jij gaf is daar echter niet een van.
En als scripts last zouden hebben van deze bug/feature, zijn ze dan wel safe?
als ze zijn gemaakt door iemand die weet wat ie doet wel, sowieso moet je goed nadenken voor je een rm * of iets dergelijks in een script wil plakken.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
blaataaps schreef op 01 november 2004 @ 10:20:
Volgens mij wel, sterker nog, dat weet ik wel zeker, of de /bin/sh op freebsd heeft een "bug" dat het wel werkt.
Hmm, daar zal ik nog eens naar kijken dan.
er zijn inderdaad verschillen, die zijn er al jaren en die zijn bekend, het voorbeeld dat jij gaf is daar echter niet een van.
Maar als je zelf een environment variabele zet om dit verschil aan te zetten, dan weet je dat toch ook?
als ze zijn gemaakt door iemand die weet wat ie doet wel, sowieso moet je goed nadenken voor je een rm * of iets dergelijks in een script wil plakken.
Cyber gaf als veilige versie rm ./*
Die versie heeft dus geen last van dit verschil.
Wat voor soort commando zou er wel last van hebben, maar toch veilig zijn?

Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 01 november 2004 @ 10:29:

Maar als je zelf een environment variabele zet om dit verschil aan te zetten, dan weet je dat toch ook?
mijn zin met "jouw voorbeeld" sloeg op het ~-verhaal, de discussie over het hele "-r"- verhaal heb ik niks meer aan bij te dragen en heb ik mijn mening over gegeven: wat mij betreft is het geen bug, is het logisch, gedocumenteerd en voorspelbaar, moet je extra voorzichtig zijn of het niet gebruiken als je bang bent voor dit soort problemen, en van bijna alles shells met deze feature is de source bekend, en ik houd niemand tegen het te patchen.

Acties:
  • 0 Henk 'm!

Verwijderd

find . -name '-*' | xargs rm -r

Is ook een optie !

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 01 november 2004 @ 12:32:
find . -name '-*' | xargs rm -r

Is ook een optie !
bedankt voor het lezen van het topic :)

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 14:56
OlafvdSpek schreef op 31 oktober 2004 @ 21:05:
[...]

Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?

[...]

Waaorm niet?
Je hebt ook nog de directories "." en "..". Heel erg leuk:
code:
1
2
cd /tmp
rm -rf *


Vervolgens kan je zwaaien naar je systeem omdat ".." matcht op je wildcard, waardoor rm een dir hoger gaat en leuk je hele filesystem meeneemt. Is dat verwacht gedrag? Tuurlijk niet! Of het niet includen van bestanden die beginnen met een punt te maken heeft met bovenstaande, of dat bovenstaande op die manier is geimplementeerd vanwege het niet includen van dotfiles in een wildcard weet ik niet, maar ik zie er enige logica in.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
_JGC_ schreef op 01 november 2004 @ 12:51:
Je hebt ook nog de directories "." en "..". Heel erg leuk:
code:
1
2
cd /tmp
rm -rf *


Vervolgens kan je zwaaien naar je systeem omdat ".." matcht op je wildcard, waardoor rm een dir hoger gaat en leuk je hele filesystem meeneemt. Is dat verwacht gedrag? Tuurlijk niet! Of het niet includen van bestanden die beginnen met een punt te maken heeft met bovenstaande, of dat bovenstaande op die manier is geimplementeerd vanwege het niet includen van dotfiles in een wildcard weet ik niet, maar ik zie er enige logica in.
Natuurlijk, ik ook. Ik wilde alleen maar duidelijk maken dat * dus niet alle betekent.

Acties:
  • 0 Henk 'm!

Verwijderd

dawuss schreef op 31 oktober 2004 @ 12:44:
Dat zeg ik ook niet.
Ik ging slechts in op de aanname dat het niet erg is als een gewone gebruiker perongeluk rm -rf / doet, omdat hij toch alleen maar schrijfrechten heeft in zijn eigen homedir.
Oh, zo. Nee, maar kijk, dan is het (vind ik dan) een theoretisch probleem met een niet al-te-grote praktische impact. De door jou en mij aangehaalde probleemgevallen zijn grotendeels theoretisch van aard, als in: dat zal in de praktijk niet snel gebeuren. In de door anderen aangehaalde gevallen is er sowieso al iets mis met de beveiliging (bv. r/w-for-all), en dan is dit niet meer dan een grappig geintje, een soort bonus voor als je toch al te ver in het systeem bent doorgedrongen.

Niet dat ik dit gedrag zo geweldig vind, er kan vast wel 't een en ander aan verbeterd worden... :).

[edit]
Trouwens, nog even aan olafvdspek. Vergeet je niet dat het gedrag van rm en dergelijke tools grotendeels is beschreven in standaarden als UNIX en POSIX? als iedereen maar wat aanklooide met die utilities, was compatibility binnen UNIX-like varianten een grote teringzooi.

[ Voor 14% gewijzigd door Verwijderd op 01-11-2004 14:42 ]


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 01 november 2004 @ 14:39:
Trouwens, nog even aan olafvdspek. Vergeet je niet dat het gedrag van rm en dergelijke tools grotendeels is beschreven in standaarden als UNIX en POSIX? als iedereen maar wat aanklooide met die utilities, was compatibility binnen UNIX-like varianten een grote teringzooi.
Dat was ik inderdaad vergeten, maar ik stelde een optionele verandering van de shell voor. Aan utilities hoeft dus niks veranderd te worden.

Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
De shell zit ook al jaren met dat gedrag. Dus ook de shell veranderen is het veranderen van de UNIX en POSIX standaarden

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer

Pagina: 1 2 Laatste