Jump to content

Archived

This topic is now archived and is closed to further replies.

theocrite

[GLOBAL] 100% question pour un pinguin

Recommended Posts

Règles du 100% questions pour un pinguoin :

:chinois: Tout le monde peut poser une colle sur l'environement GNU/Linux et le libre en général.

:oops: Les buts peuvent être divers : se sortir d'une situation périeuse, automatiser une action, une action utile dans la vie de tous les jours.... Bref vous n'êtes limités que par votre seule votre imagination.

:non: Les problèmes doivent être humainement faisables (hein Rem ;)) ie, quelqu'un doit pouvoir trouver une solution en un temps raisonnable. Ceci dit, il n'est pas interdit de poster une question dont on n'a pas la réponse afin de faire travailler les cellules grises de nos inpactiens linuxiens.

:-D Si un problème ne trouve pas de réponse en un temps/nombre de posts raisonnables, alors il est recommandé de poster une autre question, ceci pour éviter que ce topic meure par l'oubli ou le freepost.

:francais: Le gagnant est celui qui propose la plus belle solution le plus rapidement possible. Ce qui n'empêche pas de proposer une solution alternative.

:ouioui: Le gagnant gagne le droit de proposer une autre question si personne d'autre ne le fait ;)

Résumé des questions :gne:

:arrow:La question 0.1RC1 (pas encore officiellement le topic des questions libres) [chmod a-x]Sandeman

:arrow:La question 1 (Ce post ;)) [Fichier supprimé]Theo

:arrow:La question 2 [chmod 777]Rem

:arrow:La question 3 [date actuelle]Sandeman

:arrow:La question 4 [man texte]Theo

:arrow:La question 5 [Transfo caractères]Theo

:arrow:La question 6 [récuperer un user]Theo

:arrow:La question 7 [Liens symboliques]Lorinc

:arrow:La question 8 [Limites user]Lorinc

:arrow:La question 9 [lignes vides]Theo

:arrow:La question 10[HDD Master/Slave]Sandeman

:arrow:La question 11[Extentions]Theo

:arrow:La question 12[Libs OpenGL]Rem

:arrow:La question 13[Chemin absolu en Bash]Gauret

:arrow:La question 14[spécial Konqueror]Sandeman

:arrow:La question 15[Cryptage dans le shadow]Gauret

:arrow:La question 16[Ligne incompréhensible]savory

:arrow:La question 17[Répétition infinie sans boucle]Sandeman

:arrow:La question 18[Chrono en prompt]Sandeman

:arrow:La question 19[Manipulation d'images]lorinc

:arrow:La question 20[Périphérique sur lequel est monté chemin en cours]lSandeman

__________________________________________________________________

Vous avez un fichier qui contient une information quelconque (disons les paroles + partitions/tablatures de Nightswich).

Pas de chance, vous faites rm -f /home/moi/nightswich (oui, je sais, c'est le bordel, tout est à la racine).

Et au moment ou vous appuyez vous entrée, vous vous appercevez que vous avez oublié une partie de la chanson qui se trouvait dans le fichier (mémoire défaillante à votre âge?).

Comment retrouver cette partie ?

Hypothèses : - Pas d'accès au net

- Administrateur de la machine

- Pas de moirroirs/backup/sauvegardes

- Pas feuilles imprimés

- Il n'existe aucun lien (symbolique ou non) sur la machine et le fichier a réellement été supprimé.

- Système de fichier ext2.

- Les données ne sont plus sur le disque (les bits ont été effacés par un autre fichier)

Voila :D

EDIT : Hypothèses.

EDIT2 : Mise en page

EDIT3 : Ortho/Mise en page/Liens

Share this post


Link to post
Share on other sites

Les Soluces

:oops:question 0.1RC1 chmod -x chmod

Pour chmod a-x chmod, une réponse parfaite donnée par Théocrite

:non:question 1 rm d'un fichier

si le fichier était encore en mémoire, il faut aller le chercher dans le /proc/kcore

sinon, avec un peu d'espoir, un cat /dev/hdxY | strings | grep -100 "mot clé" (à valider)

:-Dquestion 2 chmod -R 777 /

pas de réponse encore validée (un truc avec un --reference par rapport à un cd d'origine restait à tester)

:francais:question 3

:ouioui:question 4

:arrow:question 5

:arrow:question 6

:arrow:question 7

:arrow:question 8

:arrow:question 9

:arrow:question 10 hda->hdb, hda étant disque système

:arrow:question 11

:arrow:question 12

:arrow:question 13

:arrow:question 14 génération de MD5

:arrow:question 15 exécution via dc

décode un message ASCII, ici RTFM

:chinois: pas facile de faire la synthèse

Share this post


Link to post
Share on other sites

Bon, je reformule, tu as un fichier texte, tu l'as effacé, tu veut en retrouver une partie (ou complet si possible).

Ce qu'il y a dedans quoi.

Disons que si le fichier était encore là, tu aurais fait cat /home/moi/nightswich (ou vi, c'est mieux).

C'est mieux là ?

lornic : Je rajoute une hypothèse.

Share this post


Link to post
Share on other sites

Bon, sandeman a édite...

Ben je ne sais pas, je teste (mais c'est tordu quand même).

je commence par monter la partition RO pour pas faire de boulettes

cat /dev/hdxY | strings | grep -100 "nightwish"  :oops:

edit2 : ou dd if=/dev/... c'est plus élégant :non: (enfin quand on voit le reste de la ligne, l'élégance ...)

Tu est sûr que ça fonctionne ça ? :chinois:

Au passage cat /dev/hdxY | strings => strings /dev/hdxY

lornic, je veux bien voir ta solution avec le fs journalisé.

Share this post


Link to post
Share on other sites

Bon, c'est un peu long cette méthode apparament.

Il n'a toujours pas trouvé et il cherche encore.

Il y a une méthode au moins qui trouve en 1 minute grand maximum.

Je vais me coucher bientôt. Je le laisse tourner. Je te dis demain s'il a trouvé.

Tu peut tester aussi Sandeman.

Bonne nuit à tous.

Share this post


Link to post
Share on other sites

J'ai vu un truc comme ça sur un linux mag, dans un scan of the month.

c'était pour étudier des logs supprimés ou un truc comme ça, et le logiciel utilisé avec une interface Web.

Si personne a trouvé mieux je veux bien rechercher dans le placard.

Share this post


Link to post
Share on other sites

Minimalist : Poste ta solution que quelqu'un trouve ou non. Et quand bien même personne ne trouverais, je posterais ma solution (qui n'est pas de moi, mais je ne peut pas dire d'ou elle vient tant que personne n'a trouvé ^^).

Interface web, c'est interressant, mais je préfère quand même la ligne de commande.

Le but du topic, c'est d'apprendre des trucs. Du moins, c'est comme ça que je le vois. C'est pas une question formatée bijective genre une question <=> une réponse.

Share this post


Link to post
Share on other sites

au hasard :

debugfs -w /dev/hdx

>lsdel

reperage de l'inode qui a été deletée par malheur

>mi <n° de l'inode en question>

mettre 'deletion time' à 0 et 'link count' à 1

(c-à-dire anuler à la main l'operation d'effacement)

enfin pas oublier de lancer e2fsck pour valider l'operation...

PS : je pense qu'un grep -a -B n -A n nightwish /dev/hdtruc marche et merci :google: pour la premiere solution, qui elle marche à coup sur (je viens d'essayer).

Share this post


Link to post
Share on other sites

:chinois: T'as tout à fait raison en fait. J'ai pas eu l'INpactitude sur ce coup-là.

C'était juste le fait d'ouvrir 35 volumes à la suite pour trouver qui me dérangeait un peu ce soir.

Mais ayant une chance incroyable le 1er fut le bon. Donc, issu du LinuxMag n°47, Scan of the month 24 :

C'est le scan d'une disquette servant à un traffic de drogue. Donc avant ils montent l'image en loopback, puis :

"L'analyse sera effectuée avec le produit Open Source The @stake Sleuth Kit (TASK) et son interface Web Autopsy."

et ils donnent ça comme adresse : http://project.honeynet.org/scans/scan24/s...k/solution.html

Share this post


Link to post
Share on other sites

En fait, on peut lire la ram.... C'est un truc de sioux, mais c'est possible sous linux. Par contre, ce n'est pas facile a faire, et on a rarement le fichier complet mais plutot des bouts ou des parties. Ca m'est arrivé une fois pour récupérer un projet en C apres un rm *.

Share this post


Link to post
Share on other sites

Finalement, je n'ai pas eu le cougage de me coucher sans savoir s'il y avait des réponses.

:mdr: Super les réponses. :craint:

J'aimerais bien savoir si on peut en faire le 1/10 sous l'OS du coté obscur (aucune chance :pleure:).

Bon, j'aurais du dire qu'on a fait un cat /dev/null > /home/moi/nightswich, mais bon ça compte :oops:

Ma solution, elle provenait de linuxfr. Il suffit de faire

---

root@fermat# strings /proc/kcore | grep -10 nightswan

---

A savoir : - kcore n'est pas un vrai fichier, c'est la RAM + le swap donc, c'est assez gros (chez moi 1,5Go), ce qui veut dire que le motif du grep a interet à être bien choisi.

- Inconvénient : vu que c'est de la mémoire vive, il ne faut pas que la machine ralloue cette espace pour faire le grep (pas de bol quand même) ou pour un autre processus (sur une machine chargée). Il ne faut pas rebooter entre temps.

- Avantage : Tant que tu n'as pas rebooté, tu as une chance de récupérer quelque chose. (genre chez moi avec un grep update-rc.d me donne un truc qui a plus de deux semaines :oops:)

Aller qui se lance ? (nan nan, je ne refais pas ma blague pourrie :fou:)

EDIT : Rha, Remy a trouvé pendant que je postais. :byebye:

Share this post


Link to post
Share on other sites
En fait, on peut lire la ram.... C'est un truc de sioux, mais c'est possible sous linux. Par contre, ce n'est pas facile a faire, et on a rarement le fichier complet mais plutot des bouts ou des parties. Ca m'est arrivé une fois pour récupérer un projet en C apres un rm *.

ilsuffit de copier les peripherique de RAM avec un dd, puis de 'greper' l'info que tu veux dans ce nouveaux periph, non?

Share this post


Link to post
Share on other sites

EDIT : Rha, Remy a trouvé pendant que je postais.

:byebye: Merci.

En fait, experience inside, ca aide bcp. Et ce que j'adore sous linux, c'est qu'on peut lui dire en gros " tu fais ce que je dis et tu executes, tu discutes pas". Malheureusement, parfois, ca coute cher. Pour anedocte , quand j'etais encore a la fac, n bossait avec mon binome sur un preprocesseur en C. Lui en emacs, moi en vi. Et a la fin, en faisant les scripts d'install et le readme, juste avant le tarball, j'ai trouvé malin de faire un rm src/*.*~ pour virer les sauvegardes temporaires faites par emacs. Le pb, c'est que lorsqu'en local on appuyais sur '~' ca ne s'affichait pas, mais lorsque l'on pressait entrer ca l'affichait. Par Telnet ( et oui, la fac avait un acces telnet !! ) , et bien je me suis dit que ca ferait pareil, donc j'ai tapé rm src/*.*~, le ~ n'est pas apparu, j'ai pressé "Entrée".... :mdr: préprocesseur C.... :craint:

Share this post


Link to post
Share on other sites
J'aimerais bien savoir si on peut en faire le 1/10 sous l'OS du coté obscur (aucune chance :byebye:).

Quand j'utilisais encore cette chose étrangement programmée, j'ai niqué une partition de 15Go fraichement installée. Il y a un bon utilitaire (payant, inutile de le préciser) nommé R-NTFS Studio qui m'a sauvé la vie en rechopant toutes mes données

Share this post


Link to post
Share on other sites

lol.

remy : Moi j'ai fais pareil, c'est comme ça que j'ai retenu.

Un fichier vi qui était ouvert. Je ne sais plus pourquoi, j'ai perdu le fichier. Bref, ce n'est pas important.

Comme un :byebye: j'ai utilisé cette commande pour récupérer le .fichier.c.swp au lieu d'utiliser la commande de récup de vim.

Mais à ma décharge, c'était à mes (tout) débuts, quand je ne savais pas trop ce que c'était vim (en gros un word sans fenètre :mdr:).

Vive Vi et vive la ligne de commande :pleure:

Bon qui lance une question ? :oops:

EDIT : Minimalist, c'est pas très sport d'enlever ta dernière remarque :craint:

Share this post


Link to post
Share on other sites

en root :

chmod -R 777 /

Comment tu fais sans réinstaller ???

ps: je precise que les sUID ont sauté donc.... :byebye:

Share this post


Link to post
Share on other sites

tu veux nous faire un systeme de fichier windaube, là? (nan, parce que ma clef usb est à peu pres dans ce genre de permission...)

Share this post


Link to post
Share on other sites

je vois bien, je seche, c'est tout.

je serai tenté de faire des chmod sur un peu tous les dossier de maniere en redonner des droits a peu pres correct, mais ça en fait tellement que y aurait forcement des trous qq part.

En tout cas, c'est déjà moins genant que chmod -R 0000 /

Share this post


Link to post
Share on other sites

C'est une commande simple ou un script ?

Et le but c'est de remettre tout tes fichiers comme avant, ou minimiser les dégats (genre séparer root et les autres).

En tout cas, c'est déjà moins genant que chmod -R 0000 /
lol :byebye:

Share this post


Link to post
Share on other sites

non, tu tapes par megarde

"chmod -R 777 / "

Je vous deconseille de le tester, vous ne pourrez plus vous loggez sur votre os, et a mon avis, il est mort. Plus qu'a booter sur un autre media, et sauver les données, noyaux eventuellement etc...

Autre truc amusant :

while(1) fork(); /* dans un fichier temp.c */

gcc temp.c -o Tmort && chmod 700 Tmort...

Ensuite, ./Tmort

En general, c'est fatal a la plupart des unix ou linux surlequels c'est executé. A faire via ssh, telnet, etc...sur la machine distante d'un collegue pour s'amuser... Ce qui se passe , pour info, c'est qu'en gros le prgm avale chq commande lancée....donc toutes les commandes lancées sur ce systeme ne pourront pas etre executées.

Share this post


Link to post
Share on other sites
Je vous deconseille de le tester, vous ne pourrez plus vous loggez sur votre os, et a mon avis, il est mort. Plus qu'a booter sur un autre media, et sauver les données, noyaux eventuellement etc...

Autre truc amusant :

while(1) fork();  /* dans un fichier temp.c */

gcc temp.c -o Tmort && chmod 700 Tmort...

Ensuite, ./Tmort

En general, c'est fatal a la plupart des unix ou linux surlequels c'est executé. A faire via ssh, telnet, etc...sur la machine distante d'un collegue pour s'amuser... Ce qui se passe , pour info, c'est qu'en gros le prgm avale chq commande lancée....donc toutes les commandes lancées sur ce systeme ne pourront pas etre executées.

je comprends pas pourquoi on purrait plus se logger en root ??? :byebye: que le suid soit mort, ça ne gene que les autre users, et vu que tu a a+rwx tu peux tout faire normalement (ou alors j'ai rien compris)

pour l'autre programme, il me semble que le nombre de processus est limité et que tu peux faire en sorte qu'un programme s'arrete si fork() echoue (pour eviter ce genre de saloperie, justement), mais c clair que c'est la mort de beaucoup d'OS... :mdr:

EDIT : c idiot, ce que je dis. mais si la moitié recoit un signal de kill, les autres vont se dupliquer et on retombe au point de départ...

Share this post


Link to post
Share on other sites

×
×
  • Create New...