pastebinit

Objet : pastebinit

Niveau requis :

Commentaires : Copier un fichier sur une page qui est ensuite transmissible par une URL automatique .

Débutant, à savoir : Utiliser GNU/Linux en ligne de commande, tout commence là !.

Suivi :

Création par martinux_qc le 21/06/2013

Testé par [82(_)|\|0] le 02/05/2021 succès

Commentaires sur le forum : ici1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !

Introduction

Ce logiciel, très prisé pour l'entraide, permet de partager via internet le résultat de toutes les commandes nécessaires afin d'obtenir une explication ou d'en offrir une...

Installation

Pour mettre en application ce tuto, la version 1.1-1 de pastebinit est nécessaire.

L'installation se fait tout simplement en tapant :

apt-get update && apt-get install pastebinit

Travaux pratiques

TP-01 Lister le montage des disques - commande fdisk -l

Normalement dans une entraide, sur le forum ou sur le chan, vous êtes en user... pour ne pas passer d'un terminal user à un terminal root pour réaliser une commande root :

Nous allons utiliser l'option -c de su (voir SU Connection momentanée)

su -c 'fdisk -l | pastebinit -

' Explication des options :

utilisation du caractère pipe (|) afin de renvoyer la commande fdisk vers une seconde commande sans intermédiaire ni détail, (voir les METACARACTERES)

utilisation de l'option tiret (-) à la fin de la commande pastebinit pour l'initialiser (voir le man pastebinit)

Nous obtenons, après avoir taper le mot de passe root, le résultat:

su -c 'fdisk -l | pastebinit -'
Mot de passe :

Après la validation du mot de passe, nous obtenons :

http:pastebin.com/f4bb5834c

Cette url (ici pour l'exemple) : http:pastebin.com/f4bb5834c sera disponible selon l'option choisi :

un jour - un mois - toujours

ATTENTION ! Cette url peut être consultée par quiconque la compose dans son navigateur... Attention donc à ne pas transmettre des passwd en clair avec !
ATTENTION ! bis Toute personne visitant les log du site ou se trouvant à “l'écoute...” sur le réseau...“ peut également les intercepter !

L'url transcrite dans un navigateur, le pastebin obtenu est en 2 parties,

celle du haut pour le texte,

celle du bas pour d'éventuelles modifications/corrections...

Éventuellement, après quelques modifications réalisées, un clic sur send vous donnera une nouvelle adresse url à communiquer... le paste modifié !

TP-02 (Donner la proposition d'une mise à jour sur un pinning...)

Débutant, voir :

Le PINNING - En détail

Les Outils APT - En détail

Le fichier pinning modifié et après avoir mis à jour le fichier /etc/apt/sources.list avec la commande aptitude update), nous envoyons :

su -c 'aptitude -s safe-upgrade | pastebinit -' (option -s pour simulation...)

Et nous trouverons à la sortie l'url du paste résultant que nous pourrons communiquer par mail, forum ou autre salon irc.

TP-03 Option -i (Donner la composition d'un fichier)

Pour donner en paste le fichier fstab par exemple :

pastebinit -i /etc/fstab

Vous donnera l'url du paste de ce fichier.

Toujours du compère captnfab sur le chan DF.

Que toutes les descendances linuxiennes lui offrent, le temps venu, une retraite calme et enjouée, comme son gentil caractère...

Quelques scripts

Nos émminents membres nous proposent des scripts pour un lancement de pastebin.

script façon firebird :

Source sur le forum là :

http://debian-facile.org/forum/viewtopic.php?pid=34660#p34660

Il existe des dock ou autre launchers qui intègrent des moyens via du drag'n'drop mais il faut se taper le dock en question… Et puis ça fait utiliser la souris…
J'ai donc tapoté un script pour ne plus m'embêter.

Il faut que les paquets libnotify-bin et pastebinit soient installés.
#!/bin/bash URL=$(clipit -p | pastebinit -b http://pastebin.com) echo $URL | clipit notify-send $URL echo $URL

Ensuite j'utilise clipit comme presse-papier mais vous pouvez en utilisez un autre du moment qu'il supporte les actions.

Donc ensuite dans clipit je créer une action Pastit :

/pathtomonscript/pastit.sh

Ne pas oublier de cocher la synchronisation des presse-papier dans clipit ou assimilé.

L'utilisation full clavier donne ainsi :

COMMANDES	ACTION
Ctrl+Inser	copier le texte
Ctrl+Alt+A	raccourcis de clipit pour le menu d'action
Pastit	On est averti par une notification quand le paste est bien terminé
Maj+Inser	collage du lien pastebin (oui il est déjà prêt à coller)

On pourrait probablement faire un raccourci encore plus simple pour lancer l'action…

script façon cthuluh :

Source sur le forum là :

http://debian-facile.org/forum/viewtopic.php?pid=34661#p34661

#!/bin/sh usage () { printf '%s\n' "Usage: $0 [ -h | -n filename ]" >&2 exit "${1:-0}" } pastebin_dir=$HOME/public_html/paste file= umask 0022 while getopts ":n:h" opt; do case $opt in 'n') file=$OPTARG ;; 'h') usage ;; '?') usage 1 ;; ':') printf '%s\n' "Argument for option '$OPTARG' missing." >&2 usage 2 ;; *) usage 1 ;; esac done shift "$(($OPTIND - 1))" if [ "$#" -ne 0 ]; then usage 1 fi if [ ! -d "$pastebin_dir" ]; then mkdir -p "$pastebin_dir" fi if [ ! -f "$pastebin_dir/index.html" ]; then cat <<'EOF' > "$pastebin_dir/index.html" <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title> Verbotten </title> </head> <body> <h1> GTFO </h1> </body> </html> EOF fi if [ -n "$file" ]; then file=$pastebin_dir/$file touch "$file" else file=$(mktemp "$pastebin_dir/XXXXXXXX.txt") fi chmod a+r "$file" cat > "$file" file=${file##*/} printf '%s\n' "http://$(hostname -d)/~$USER/paste/$file"

Script façon Thuban

Source sur le forum, là :

http://debian-facile.org/forum/viewtopic.php?pid=34662#p34662

Script façon SwitchT

Envoyer sa configuration matérielle sur pastehtml.com: Entrer cette fonction dans le fichier .bashrc, ou directement dans une console.

lshw(){ curl -s -S --data-urlencode "txt=$(su -c 'lshw -html -sanitize')" "http://pastehtml.com/upload/create?input_type=html&result=address";echo;}

Puis utiliser:

lshw

voir : lshw; j'ai ajouté l'option -sanitize qui masque les informations sensibles (ip, numéro de série...); puis utilisé su au lieu de sudo. Nécessite les paquets curl et lshw.

Remerciements

Merci à firebird d'avoir initié ces scripts ainsi qu'à cthuluh et Thuban de faire profiter des leurs les amis !