Voici la résolution d’un problème de crash d’amule après réinstallation du système et récuperation des fichiers de configuration ainsi que les transferts en cours. Tout d’abord, il peut être nécessaire de remettre en place les droits sur les fichiers concernés :
- ceux du dossier de fichiers de configuration ~/.aMule
- ceux des dossiers de transfert et de réception. Si vous ne savez plus quels sont ces dossiers, faites un tour dans le fichier de configuration.

Mais un problème peut subsister : aMule ne se lance pas, ou plutôt crashe au lancement. Si vous le lancez dans un terminal par amule &, vous obtenez :

an amule instance is already running

Ceci est dû à la présence du fichier ~/.aMule/muleLock . Il suffit de l’effacer pour résoudre le problème de « crash » au lancement.

Si comme moi vous arrivez devant votre machine linux (mon SAN en l’occurence qui n’a ni lecteur CD, ni disquette, juste des disques durs) et que vous avez beau essayer de vous logger avec l’utilisateur root, mais le mot de passe ne semble pas bon, vous n’avez pas le choix il faut aller chercher un tournevis et ouvrir la bête.
Explications de la méthode et du pourquoi de la chose. {{{Pourquoi « hacker » son propre PC ?}}}
Je vous le demande… c’est vrai que ça paraît étrange de vouloir changer le mot de passe de root, et de s’entendre dire qu’il faut démonter. Alors pourquoi faut il faire son hacker sur son propre PC ?

Imaginez la situation est la suivante : vous arrivez devant VOTRE PC sous linux, vous le lancez, vous vous connectez avec votre nom d’utilisateur habituel et puis vous décidez de faire une tâche d’administration, par exemple monter un disque, chose assez classique. Vous utilisez alors la commande « su » ou « sudo » selon votre habitude et là on vous demande le mot de passe de root, que bien évidemment vous n’arrivez pas à taper. Vous avez beau essayer tous les mots de passe possibles et imaginables, rien n’y fait, vous l’avez perdu. Eh oui ça arrive. Chez moi, pas plus tard qu’il y un mois.

Vous n’avez donc aucun moyen d’accéder au compte root, ce qui pose quand même pas mal de problèmes car c’est votre PC et vous n’avez pas spécialement envie de l’abandonner dans un coin pour un mot de passe.

{{{Y’a pas 36 solutions…}}}
… mais il y en a quand même quelques unes.
Les voici, de la moins bonne à la meilleure :
- Tenter toutes les combinaisons possibles (non, je me doute que personne y avait songé, je propose ça juste pour rire bien évidemment…)
- Retourner toute la maison à la recherche d’un bout de papier avec le mot de passe dessus (assez vain en général, sauf si vous ne faites pas le ménage et que vous n’avez pas peur qu’on vous pique votre mot de passe)
- Réinstaller complètement le système (on a que ça à faire peut-être…)
- Effacer le mot de passe et le remplacer par un nouveau mot de passe qu’on va retenir cette fois. (C’est ce que je vais expliquer)

{{{Contexte}}}
Partons du contexte le plus compliqué : vous avez un PC un peu comme le mien, sans lecteur CD, sans lecteur de disquettes. Oui, c’est un barebone qui me sert de serveur de fichiers, et donc je fais des économies d’énergie et de place car j’ai 3 disques durs à mettre dedans, donc y’a pas trop de place pour un lecteur CD-ROM ni de disquette. Dans un autre article, je vous parlerai de mon petit serveur :)

Un autre détail, vous avez paramétré le timeout du boot-loader (ici GRUB) à 0s, pour que le serveur boot plus rapidement.
Il n’y a donc aucun moyen de prendre la main avant le boot du système, ni en bootant sur CD ou disquette, ni en changeant la ligne de commande du boot.[[pour plus d'infos sur cette option, si vous êtes dans ce cas, allez voir "Step # 1 Boot server in single user mode" sur [http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/12/recovering-deleted-etcshadow-password.php]]

{{{Comment faire alors ?}}}
Ma solution est une des solutions et vous la retrouverez à pas mal d’endroits sur le net, mais je la re-explique quand même pour y ajouter des détails sur les « obstacles » que j’ai rencontré. Disons qu’au lieu d’obstacles, ce sont plutôt des finesses dans la procédure qu’il faut savoir pour pas s’énerver.

Donc, il suffit de booter avec un autre système sur votre PC et d’aller modifier le mot de passe root sur votre disque dur.

Pour cela il vous faut bien évidemment un système à booter. Si vous avez une clé USB bootable, par exemple avec une Damn Small Linux, ça fera l’affaire.

Sinon, si comme moi votre PC ne permet pas le boot sur clé USB [[je suis bien dégoûté sur ce coup là, ou alors il y a un truc qui m'échappe, mais j'ai réussi à booter sur ma clé avec un autre PC et pas sur celui-ci]], il ne vous reste plus qu’à booter sur CD ou sur disquette. Vu le merdier pour trouver une disquette de nos jours, je vous conseille plutôt de booter sur un CD.

Un liveCD fera largement l’affaire. Vous pouvez par exemple télécharger une Mandrake Move ou une SuSE Live CD ça marchera très bien. Alors bien sûr, il vous faut un accès à internet sur un autre PC avec un graveur pour graver l’image ISO du live CD, sinon, demandez à un pote qu’il vous en grave une.

Si vous n’avez pas de lecteur CD installé, ouvrez le PC et installez-en un, là où il y a de la place, ou sinon, laissez-le dehors ça lui fera prendre l’air.
Lancez votre PC et vérifiez dans votre BIOS que la séquence de boot permet bien de démarrer sur le CD-ROM avant le disque dur.

Notez que si vous n’avez ni disquette, ni possibilité de booter sur USB, ni accès au BIOS, il ne vous reste plus qu’à démonter votre disque dur et à aller le mettre sur un autre PC équipé au moins d’un lecteur CD bootable.

Sinon, si c’est ok, rebootez votre PC et lancez le live CD.
Une fois le live CD chargé, vous avez fait le plus dur :)
Il faut alors lancer une console de commande (xterm ou autre) et on va ensuite utiliser la commande « mount » (ici on est sur le système du live CD, pas sur votre propre linux donc il y a toutes les chances pour que vos partitions ne soient sûrement pas montées).

Une fois la console lancée, connectez-vous donc sous root. Vous êtes sur le liveCD, sur le Mandrake Move par exemple, il suffit donc de lancer la commande « su » sans besoin de mot de passe.
Une fois que vous êtes root [[on le voit car l'invite de commande se termine par un #, qui sera présenté dans tous mes exemples de ligne de commande suivants et qu'il ne faudra bien évidemment pas taper]] il faut monter la partition sur laquelle se trouve le système dont vous avez perdu le mot de passe root.

Le montage est une opération simple qui attribue à une partition un répertoire accessible sur lequel elle va se greffer.

Par exemple ici, on va monter notre partition hda2 dans /mnt/hda2 et cette partition est formatée en reiserfs, un format de système de fichiers journalisé comme on peut aussi avoir ext3 par exemple sur d’autres distributions.

{{{Comment repérer le nom de ma partition ?}}}
Si vous avez installé votre linux vous-même, il y a toutes les chances que vous sachiez quelle partition vous devez monter et de quel type elle est.

Sinon, demandez à la personne qui l’a installé pour vous ou suivez ces instructions simples :

Les partitions de disques durs IDE [[on ne parlera pas ici des volumes RAID ou SCSI ni SATA qui sont pointés différemment]] simples sont pointés par les adresses /dev/hdxx où xx correspond à une lettre et un chiffre. La lettre indique le disque sur lequel se trouve la partition.

Si votre disque est le disque maître sur le canal IDE1, la lettre sera « a », si c’est l’esclave sur ce même canal, ce sera « b ». S’il est maître sur le canal IDE 2, ce sera « c » et enfin s’il est esclave sur ce second canal, ce sera « d ».

Mon disque étant maître sur le canal IDE 1, il sera pointé par /dev/hda.

Ensuite, le numéro correspond au numéro de la partition.
Mon disque hda contient deux partitions, j’ai fait super simple. La première c’est un swap et la seconde est ma partition principale. Le swap est donc pointé par /dev/hda1 et ma partition principale par /dev/hda2.

Nous avons donc le chemin vers notre partition.

Pour ce qui concerne le format de la partition, si vous n’en avez aucune idée il suffit de ne rien préciser ou d’utiliser l’option « auto » de [la commande mount->http://www.netadmintools.com/html/8mount.man.html].

Il faut cependant créer un point de montage avant de pouvoir monter notre partition. Pour cela rien de plus simple, il suffit de créer un répertoire par exemple dans /mnt on va créer ici un répertoire hda2 en tapant la commande suivante :

# mkdir /mnt/monsysteme

Désormais on peut monter notre partition en lançant la commande « mount » suivante :

# mount /dev/hda2 /mnt/monsysteme

Si on connait le type de de formatage, on peut le préciser, cela gagne un peu de temps car mount n’a pas à essayer de découvrir lui-même le format :

# mount -t reiserfs /dev/hda2 /mnt/monsysteme

Pour avoir la liste complète des types admis, reportez-vous à la page de manuel de mount en tapant la commande

# man mount

ou en allant sur [une page de manuel en ligne de mount->http://www.netadmintools.com/html/8mount.man.html], rubrique « options ».

Pour vérifier que votre partition est bien montée, on ne regarde pas son slip, mais on vérifie simplement le montage avec la commande suivante

# mount -l

et on doit voir s’afficher la liste des périphériques montés et en particulier une ligne :

/dev/hda2 on mnt/monsysteme type reiserfs (rw)

{{{Localiser le mot de passe de root}}}
On doit maintenant localiser le mot de passe de root pour le modifier.
Si votre système est récent, il y a toutes les chances pour que les mots de passe soient définis dans le fichier /mnt/hda2/etc/shadow sous forme cryptée.

Ce fichier contient une ligne du type :

root:$2a$10$qLQjFUa2BReb.4ecp8eiq.YPS0b6epdxhw3je5/MrZoNtXwDFI0Ra:13192:0:99999:7:::

Chaque valeur est séparée par le signe « : ». La première est le nom de l’utilisateur, ici « root », la seconde est le mot de passe sous forme cryptée, ici « $2a$10$qLQjFUa2BReb.4ecp8eiq.YPS0b6epdxhw3je5/MrZoNtXwDFI0Ra ». C’est la version crypté du mot de passe « 1234″. Les autres champs sont des informations sur l’expiration du mot de passe, la date de dernière mise à jour, etc… pour plus d’infos allez lire [une page de manuel en ligne de /etc/shadow->http://www.netadmintools.com/html/5shadow.man.html].

Il s’agit donc de modifier le mot de passe crypté pour en remettre un qu’on connaisse.

Pourquoi ne pas simplement mettre aucun mot de passe me direz-vous ?
Tout simplement parce que cela risque fort de ne pas fonctionner car sur la plupart des distributions maintenant on utilise PAM qui est un module de gestion de l’identification et qui oblige s’il est correctement configuré à utiliser un mot de passe. Un compte sans mot de passe n’aurait pas le droit de se connecter. Il faut donc un mot de passe, ou alors aller fouiller dans la config de PAM, mais c’est pas le plus rapide si on veut retrouver son accès root rapidement, je n’en parlerai donc pas ici.

{{{Modifier le mot de passe root}}}
Maintenant qu’on a localisé l’emplacement de notre mot de passe, il s’agit de créer un mot de passe crypté pour le coller à la place de l’ancien.

Pour cela, le plus simple est de créer un nouvel utilisateur sur le système courant, c’est à dire le liveCD et de copier-coller le mot de passe qui sera généré dans le fichier /etc/shadow du système liveCD sur le mot de passe de root dans le fichier /mnt/hda2/etc/shadow.
Pour créer un nouvel utilisateur, par exemple « toto », lancez la commande suivante :

# useradd toto

Ensuite assignez-lui un mot de passe avec la commande passwd :

# passwd toto

Il vous est alors demandé deux fois de suite de taper le mot de passe. Entrez celui que vous voulez mettre pour root.

Ensuite, vérifiez dans le fichier /etc/shadow que le compte toto a bien une ligne du type

toto:$2a$10$qLQjFUa2BReb.4ecp8eiq.YPS0b6epdxhw3je5/MrZoNtXwDFI0Ra:13192:0:99999:7:::

Pour cela lancez la commande

# vi /etc/shadow

Copiez[[reportez vous à [un manuel de vi->http://www.eisti.fr/~bp/doc/viavance.html] pour savoir comment copier-coller. Si vous avez lancé un système graphique et que vous avez la souris, c’est tout simple, il suffit de surligner le texte à la souris pour copier et de le coller en utilisant le 3e bouton de la souris qui est la molette dans la plupart des cas. Pour passer en mode édition, faites escape puis la lettre « i ».]] la partie du mot de passe « $2a$10$qLQjFUa2BReb.4ecp8eiq.YPS0b6epdxhw3je5/MrZoNtXwDFI0Ra » et collez-la à la place de l’ancien mot de passe crypté dans le fichier /mnt/hda2/etc/shadow à la ligne de l’utilisateur root.

{{{C’est fini !}}}
Voilà, vous n’avez plus qu’à enregistrer[[sous vi, pour enregistrer, tapez escape, puis la commande :x qui écrit et quitte vi]] le fichier /mnt/monsysteme/etc/shadow et à rebooter votre PC en prenant soin d’enlever le liveCD et de booter sur votre vrai système.

Vous pouvez maintenant vous loguer avec root et le mot de passe que vous avez collé tout en vous répétant que la prochaine fois, vous essayerez de ne pas oublier votre mot de passe…

Notez quand même que pour cela il convient juste d’avoir de la mémoire, et qu’il n’est pas bon de choisir de noter le mot de passe sur un papier ou d’en mettre un trop simple. Cependant, cela dépend du niveau de sécurité que vous voulez, mais dès fois vous pouvez le noter et le cacher bien chez vous, mais pas trop quand même, après il va vous falloir un papier pour noter où vous avez caché le papier avec le mot de passe…

Il y a quelques années, j’avais commencé à developper une application catalogue de bibliothèque personnelle. On ne l’a jamais utilisée à cause d’un defaut majeur : saisir les données d’un livre, c’est fastidieux. Aujourd’hui, gnome-files et internet viennent à mon secours. Mes héros ! {{{Alexandria}}}

Le nom de ce logiciel est une référence à la bibliothèque d’Alexandrie, qui avait pour vocation de détenir tous les livres de l’epoque et de constituer un catalogue du savoir universel. Vaste programme, que le web reprend de nos jours. Et c’est sur le web et les standards (dont le z39.50, les bibliothécaires apprécieront) que s’appuie alexandria pour récupérer les données bibliographiques de vos ouvrages à partir d’une recherche sur le titre ou une saisie de l’ISBN.

Vous pouvez ensuite noter les livres de 0 à 5, et indiquer à qui et quand vous prêtez vos livres. Dommage qu’il n’y ait pas d’indicateur permettant de tracer si le livre a déjà été lu, ni quand. Dommage également qu’il ne soit pas possible de filtrer/rechercher les livres selon leur statut de prêt. Bien que très prometteur, Alexandria est encore un peu fruste à l’usage, surtout par comparaison avec GCfilms.

Par contre, il est possible d’exporter les catalogues (appelées librairies) dans divers format, dont le html, ce qui peut permettre de les publier.

{{{Griffith et GCfilms}}}

Pour ce qui concerne le catalogue de ma cinémathèque, j’ai d’abord testé Griffith, (parce qu’il avait une plus jolie icone), puis je suis passé à GCfilms. Les deux sont à peu près équivalents en termes de fonctionnalités, mais GCfilms semble plus abouti et fonctionne mieux en ce qui concerne la récuperation des notices de films francophones, et il est également mieux documenté, en anglais et en français. Il semblerait que ses developpeurs soient francophones, ceci expliquant peut-être cela.

GCfilms est bien plus riche qu’Alexandria, ce qui est probablement aussi dû à la plus grande abondance de meta-données sur les films que sur les livres : acteurs, résumé, genre etc. Les fiches sont séparées en trois onglets (mais il est possible de configurer leur affichage) : données du film, données personnelles (support dvd/cd/vhs, langues, note, deja vu etc) et données de pret.

Les options de configuration sont nombreuses, et il est possible de filtrer les films sur plusieurs criteres, dont le pret et s’ils ont été vu. D’ailleurs GCfilms est également capable de vous suggérer le film de votre soirée en un clic.

Pour conclure, GCfilms, et potentiellement Alexandria sont parmi les applications grand public capables de faire la promotion de linux, du logiciel libre et des standards ouverts.

quelques commandes utiles.

3 février, 2006

Cet article est plus un catalogue en constante évolution qu’un réel article.
Vous y trouverez listés et classés des commandes qui me sont utiles et donc pourquoi pas utiles aux autres. {{{Statistiques sur des fichiers}}}

Compter le nombre de lignes totales contenues dans tous les fichiers d’un certain type au sein d’une arborescence

$ cat `ls -d -1 **/* | grep ".php" | cat` | wc -l;

Si on veut afficher aussi le compte de chaque fichier, pas besoin de cat

$ wc -l `ls -d -1 **/* | grep ".php"`;

—-

En complément, vous pouvez visiter les sites suivants :

- [->http://www.ss64.com/index.html]
- [->http://db.ilug-bom.org.in/Documentation/abs-guide/index.html]
- [->http://users.info.unicaen.fr/%7Ejacques/NAPI/unite-A1/Adv-Bash-Scr-HOWTO/]
- [->http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html]

Comment supprimer le message d’erreur concernant le fichier .dmrc au lancement d’une session.

your $home/.dmrc has incorrect permissions and is being ignored. This prevents the default session and language from beeing saved. File should be owned by user and have 644 permission

On obtient ce message d’erreur après avoir modifié les permissions de son répertoire utilisateur ( /home/votre_login ). Il s’agit semble t’il d’un problème de droits sur le fichier de configuration de lancement de session graphique. Le problème étant qu’effectuer les actions recommandées par le message d’erreur ne suffit pas à le faire disparaitre. Il faut donc modifier les droits du fichier (lecture/ecriture pour le proprietaire, lecture pour le groupe et le reste du monde) :

chmod 644 ~/.dmrc

Et eventuellement se remettre en tant que proprietaire

sudo chown votre_login /home/votre_login/.dmrc

Mais aussi modifier les droits du répertoire personnel (non récursivement) :

chmod 700 /home/votre_login

Ce qui n’est pas indiqué dans le message d’erreur.

RSS | XHTML | CSS