Outils pour utilisateurs

Outils du site


blog

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

GPG - Toile de confiance - Web of Trust

Voir aussi :

Comment importer la clé publique Ouvrir une fenêtre dos puis taper les commandes dans l’ordre ci-dessous

gpg --import </repertoire>/correspondant.pg
gpg: key 47C22EFD: public key "Igor < >" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg --edit-key mail@truc.com
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
pub 1024D/47C22EFD created: 2005-12-23 expires: never usage: CS
trust: unknown validity: unknown
sub 2048g/AD4240EC created: 2005-12-23 expires: never usage: E
[ unknown] (1). Igor BAREEV mail@truc.com
Command> trust
pub 1024D/47C22EFD created: 2005-12-23 expires: never usage: CS
trust: unknown validity: unknown
sub 2048g/AD4240EC created: 2005-12-23 expires: never usage: E
[ unknown] (1). Igor BAREEV mail@truc.com
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
1.3 Comment encrypter un fichier avec la clé publique du partenaire truc
Synthaxe:
gpg --encrypt -a -r mail@truc.com file
Il suffit ensuite de créer un batch en fonction d’où est déposé le fichier de virement des paies
C:\batch\Pgp_encryption.bat
        gpg --encrypt -a -r mail@truc.com C:\VIRTPAYE\*

Sauvegardes
Voir --export-ownertrust

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