Outils pour utilisateurs

Outils du site


blog

Grep trouver tous les fichiers ne contenant pas un motif

find . -type f -iname "*.j2" -exec grep -L -e "ansible_managed" {} \;
2025/03/24 15:06

grep avec option p comme AIX - Récupérer un paragraphe complet

Source : https://www.vincentliefooghe.net/content/gnu-grep-recuperer-un-paragraphe-complet

Voir :

L'Unix d'IBM (AIX) propose une option intéressante pour la commande grep qui permet de récupérer un paragraphe complet, en précisant le séparateur de paragraphe :

grep -p "PATTERN" FILENAME

Par défaut, le séparateur est une ligne vide, mais on peut le préciser en l'ajoutant après l'option. Par exemple :

grep -p"separateur" "PATTERN" FILENAME

Sous Linux, le gnu grep ne propose pas cette option. Il reste cependant l'option awk ou perl. En utilisant awk, nous disposons de deux formulations différentes :

awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"} /PATTERN/' FILENAMES
grepp(){
	awk "BEGIN{RS=ORS=\"\n\n\";FS=OFS=\"\n\"} /$1/" "$2"
}

ou

awk -v RS="" -v ORS="\n\n" '/PATTERN/' FILENAMES

Par exemple, pour rechercher un groupe LDAP dans un fichier LDIF :

awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"} /dn: cn=AdminUsers,ou=groups,dc=example,dc=com/' Export-Full.ldif

ou avec l'autre option :

time awk -v RS="" -v ORS="\n\n" '/cn=AdminUsers,ou=groups,dc=example,dc=com/' Export-Full.ldif
2025/03/24 15:06

Graver un cdrom ou dvd

Si besoin préciser /dev=/dev/cdrom

/dev/sr0

Effacer avant de graver

wodim blank=fast

Graver une iso

wodim slitaz-5.0-rc3.iso
2025/03/24 15:06

Gpg trust - faire confiance à une clef sans la signer

Contexte

Faire fonctionner debmirror sur un serveur qui n'a pas de clef GPG.

De plus gpg --gen-key ne fonctionne pas sur ce serveur (ne rend pas la main, ne consomme pas de CPU) juste après avoir saisie la passphrase.

can't connect to `/root/.gnupg/S.gpg-agent': Aucun fichier ou dossier de ce type
Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire
autre-chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers; cela donne au générateur de
nombres aléatoires une meilleure chance d'avoir assez d'entropie.

Solution

export HTTP_PROXY=http://proxy:8080
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C0B21F32
gpg --export C0B21F32 >> ~/.gnupg/trustedkeys.gpg
chmod 600 ~/.gnupg/trustedkeys.gpg

2éme solution préférable quand c'est possible, utiliser --trust-model always \ Exemple :

gpg --trust-model always -R 7663C664 --encrypt plop
2025/03/24 15:06

GPG - Utilisation basique - exemples

Importer une clef

Importer une clef localement

gpg --import correspondant.pgp

Importer une clef via Internet

Tscoks et Tor doivent être installés et configurés Voir tor_tsocks

tsocks gpg --recv-keys 5AA19646

Utilisation basique - exemples

Exemple de chiffrement noté -R à la place du -r pour caché qui est le destinataire du fichier

gpg -R jean@acme.fr --throw-keyids --encrypt data.dat 

Ici nous signons le fichier data.dat.gpg (crée la commande précédente)

gpg --detach-sign data.dat.gpg

On vérifie la signature

gpg --verify data.dat.gpg.sig data.dat.gpg

Si la signature est bonne, on déchiffre

gpg --decrypt data.dat.gpg

Exemple en ligne de commande
Signé et chiffré
gpg --sign plop.txt
gpg --encrypt -R jean@acme.fr plop.txt.gpg
mv plop.txt.gpg.gpg plop

On envoie notre fichier plop

Déchiffrement et vérification signature
$ gpg plop
gpg: plop : suffixe inconnu
Entrez le nouveau nom de fichier [plop.txt.gpg]:

Faire [Entrée]

gpg plop.txt.gpg && echo OK

Nous retrouvons le fichier plop.txt

Avancée

Commandes passives

gpg --with-fingerprint --list-secret-key
gpg --list-keys your_email@address.com
 
echo 'foo' | gpg --recipient [key-id] --encrypt --sign | gpg --list-packets

Avoir plus d'information sur une clefs (sans l’importer)

gpg --list-packets public-key.asc

Avoir des informations sur un fichier chiffré

gpg report.txt.gpg

Autres conversions formats

Uuencode / uudecode Pour encoder, il suffit de taper :

gpg -a --store chemin/nom_du_fichier.ext

(Cela produira en sortie chemin/nom_du_fichier.ext.asc)

Pour décoder, c’est encore plus simple:

gpg chemin/nom_du_fichier.ext.asc

convert .asc to .gpg (and eventually vice-versa)

gpg --dearmor the-asc-file.asc

will convert from .asc to .gpg

cat the-gpg-file.gpg | gpg --enarmor | sed 's|ARMORED FILE|MESSAGE|' > my-new-asc-file.asc
printf 'Key-Type: DSA\nKey-Length: 4096\nName-Real: test\n' | ./gpg --batch –gen-key
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki