Hozzászólások
Szerintem ehhez rootként kellett futtatnia ami eleve fura, meg ntfs-re mozgatta amit noexeccel mountolt. Nincs itt semmi látnivaló.
- A hozzászóláshoz be kell jelentkezni
Nem kellett hozzá rootként futtatni. 9 évvel ezelőtt ezt a hibát én is körbejártam. Az rm -rf /* vitt szépen mindent amihez a felhasználónak jogosultsága volt.
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"
- A hozzászóláshoz be kell jelentkezni
De miért volt a felhasználónak jogosultsága mindenhez a root alatt?
- A hozzászóláshoz be kell jelentkezni
Lehet 777-et tolt az egész drivera, mert nem értette hogy műdik. Kb minden témánál, amikor technikai user alól futó szolgáltatás fájljait akarják elérni, akkor vagy rootként próbálják, vagy átjáróházra állítják a jogosultságukat ahelyett, hogy a felhasználójukat a csopporthoz adnák.
- A hozzászóláshoz be kell jelentkezni
Nem volt jogosultsága. A YT videó címe félrevezető. Emlékszem erre a történetre. Csak a saját fájljait "vesztette el".
Idézet az Original bug reportból:
Until I looked and saw that steam had apparently deleted everything owned by my user recursively from the root directory.
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"
- A hozzászóláshoz be kell jelentkezni
Így már értem, skippeltem a videót addig a részig ahol azt tárgyalta hogyan áll elő a $steamroot, a többire nem figyeltem.
- A hozzászóláshoz be kell jelentkezni
Nem, ti értitek félre. A root alatt nem vitt mindent, csak a /home alatt, de az is elég. Nyilván amihez nincs jogosultsága a felhasználónak, azt az rm nem törli, arra hibákat írogat, viszont ami törölhető, azt kímélet nélkül törli. /home alatt megy a levesbe a teljes felhasználói profil, az összes programbeállításokkal, letöltésekkel, dokumentumokkal, stb., ha van oda csatolva valami, akkor az is megy az örök bitmezőkre.
Az rm-nek hiába van ott alapértelmezettnek a --preserve-root, viszont a --preserve-root=all és a --one-file-system kapcsolók nem alapértelmezetten feltételezettek, pedig annak kéne lenniük szerintem. Ráadásul ezek is csak a GNU változatban vannak jelen, mivel nincsenek a legújabb POSIX szabványban sem, a BSD userland rm binárisában nincsenek ilyen normivédő kapcsolók, az mindent küld alapértelmezetten a levesbe, / -ot, bárhová alá csatolt más fájlrendszereket is.
Rendszert nekem is sikerült szétcseszni, de nem rm-mel, hanem chmod-dal, rekurzívan akartam kiadni a ./ mappára, de félregépelés miatt a /. helyet gépeltem be neki, ráadásul sudo-val ment. Végül helyre lehetett hozni, de nem kis bosszúság volt. Olvastam felhasználókat, akik rosszul felparaméterezett hdparm paranccsal meg meghajtókat vágtak haza firmware szintjén téglásítva. Ezek a low level tool-ok, nem ismernek kegyelmet, nincs bennük általában kellő védelmi mechanizmus sem, megcsinálnak bármit vakon, feltételezve, hogy hozzáértő és olvasni-gépelni pontosan tudó emberke használja őket.
A rossz meghajtó felül dd-zését meg nem is kell senkinek bemutatni, örökzöld klasszikus, user szépen reflexből nyomatja a /dev/sdb-re, amit akar, csak épp ha a rendszerben bootkor helyet cserélt az sda-val, akkor game over. Én ezért minden dd előtt lekérek egy lsblk kimenetet is. Bár a mostani rendszeremben csak /dev/nvme kezdetű drive-ok vannak, /dev/sdakármi csak akkor, ha külső meghajtót csatolok.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Van par ilyen klasszikus eset. :)
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Amúgy ez nem egy ritka hiba. Anno volt egy fejlesztő kolléga, aki szintén csinált ilyet ERP rendszer fejlesztése során. A rendszer saját nyelvéből hívott meg shell parancsokat és nagyjából a következő történt:
val mandant = "./prod/"
val tmpfolder = ""
if (..) then
..
$tmpfolder = "temp/"
..
end if
val törlendő
törlendő = $mandant + $tmpfolder + "*"
rm -rf $törlendő
Csak egyszer kellett egy olyan eset, hogy az IF ne teljesüljön és jött a hideg zuhany.
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"
- A hozzászóláshoz be kell jelentkezni
láttam én is hasonlót, ott úgy jött ki, hogy win-es sorvégjelek miatt elszált egy script, ezért a konfig fájlt átmásolta win-re ott notepad++-szal átalakította. Majd visszamásolta, de rossz userrel. És így a futtatott script nem érte el a tartalmát a konfignak, ami kiadta üresnek a változót és így kijött az rm -rf /*. Persze csak a user összes fájlát tudta törölni, nem 777 és nem root userrel futtatta. Szóval inkább a változókra kell ellenőrzés, mert a user mindig tud olyan kreatív lenni, hogy kijöjjön az önmegsemmisítés.
- A hozzászóláshoz be kell jelentkezni
Nagyon ritkan van szukseg rm -rf parancsra. Nekem egy ilyen scriptem volt, es ott eleg heurisztikus is volt az utvonal, raadasul tobb helyrol is kellett hivni, ugyhogy en kraktam az rm parancsot egy kulon fugvenybe, es hivas elott ellenoriztem, hogy a parameter megfelelo-e.
IMHO tokmindegy, hogy all fejre, a durva parancsokat mindig korul kell bastyazni.
- A hozzászóláshoz be kell jelentkezni
De ez így jó.
- A hozzászóláshoz be kell jelentkezni
mondjuk az automatizalt e2e tesztek mellett a masik alapkove minden developernek, hogy a kritikus dolgok ele assert -eket rak. sanity check. ha barmi gyanus, inkabb fail, az meg mindig kisebb baj (rollback megoldja), mint a torles.
no persze docker/kubernetes koraban mar ez se igaz.
- A hozzászóláshoz be kell jelentkezni
Ah, vannak ilyesmi hibák, ja, például és a kommentek között időnként belinkelnek hasonló történeteket: https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123
- A hozzászóláshoz be kell jelentkezni
Meg is akartam azota kerdezni, hogy mi a jovoje ezota az nvidia GPU + Intel GPU kombos gepeknek? Tamogatja mar a gyari driver es ennyi?
Mert a bumblebee anno ehhez kellett, hogy valtogass Intel es nVidia GPU kozt.
- A hozzászóláshoz be kell jelentkezni
Nekem van ketto ilyen laptopom. Alapvetoen az intelt hasznalja minden, kiveve ha hozzateszem, hogy "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <blablahblahaz eredeti parancs, pl. hogy steam>". Mert ilyenkor az nvidia kartyamat hasznalja.
Nem nagyon kell valtogatni. Bar a system76-omon lehet a "system76-power graphics <melyiket akarom>" paranccsal (bar van grafikus valto is).
- A hozzászóláshoz be kell jelentkezni
Pár éve implementáltam az általam írt bash scriptekbe. :)
- A hozzászóláshoz be kell jelentkezni
Nekem ez a kedvencem:
clean:
rm -rf akarmi akarmi.o /* This will remove the files */
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Darwin-díjas, valakinél túlműködtek a C-s reflexek. Védelmére legyen mondva, hogy előre odakommentelte, hogy a fájlok el lesznek távolítva, csak éppen az összes létező.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Én egy nagyon hasonló hibát pár napja láttam a redditen, ahol a felhasználó kézzel adott ki egy nagyon hasonló parancsot, csak a változó neve volt más, de épp úgy üres volt, és a / -re futott le az egész. Semmi köze nem volt a Steam-hez. Ez teljes egészében coder/user error, nem győződik meg, hogy a változó üres-e. Tény, hogy tanulságos esetek ezek.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni