Outils pour utilisateurs

Outils du site


blog

Tous logger et historiser vos commandes bash grace à la commande "script"

Voir aussi :

  • netconsole

Conserver un historique en local de tout ce qui est affiché dans vos shells (entrée/sortie) C'est également valable pour les connexions distantes via SSH. NB : Les mots de passes SSH ne serons pas enregistré (car pas affichés à l'écran)

Il suffit d'ajouter dans le .bashrc

~/.bashrc

##### EXTREM LOGING / HISTORIZE ####
 
historyFolder="$HOME"
historyFilename=".history_$(date '+%Y-%m-%d-%H-%M').$$.txt"
historyFilenameTime=".history_$(date '+%Y-%m-%d-%H-%M').$$.time"
 
#parentProcessNameOfCurrentShell=$(ps --no-headers -o comm -p $(ps --no-headers -o ppid -p $$))
parentProcessNameOfCurrentShell=$(ps --no-headers -o comm -p $PPID)
if [ "$parentProcessNameOfCurrentShell" != script ]
then
        script -aqf ${historyFolder}/${historyFilename} -t 2> ${historyFolder}/${historyFilenameTime}
fi

Vous pouvez voir Les caractères de contrôle, le mouvement du curseur, couleurs, etc… seront également enregistrés ce qui “pollue” le fichier. Voici un exemple de comment le nettoyer en cas de besoin :

cat $NOMDUFICHIER |sed -e 's/[[:cntrl:]]//g' -e 's/\[[^m]*m//g' -e 's/\^*M//g' >$NOUVEAUFICHIER

Pour arrêter l'historisation du shell courant, utiliser la commande :

exit

A utiliser une seul fois. Sinon vous fermerez votre shell.

Pour reprendre l'historisation, après un “exit” il suffit de sourcer votre .bashrc

source ~/.bashrc

Rejouer l'historique, exemple :

scriptreplay -t .history_2014-10-14-16-57.7649.time .history_2014-10-14-16-57.7649.txt

Il est possible de jeter un œil rapide sur le fichier avec cat, more ou less

cat .history_2014-10-14-16-57.7649.txt
less -r .history_2014-10-14-16-57.7649.txt
more .history_2014-10-14-16-57.7649.txt

Autre façon avec rsyslog

/etc/rsyslog.d/bash.conf

local6.*    /var/log/commands.log

/etc/bash.bashrc

# bash history logger
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
systemctl restart rsyslog

Autre

De pas dupliquer les ligne dans l'historique

export HISTCONTROL=ignoredups

Afficher les date & heure dans l'history (hardening)

export HISTTIMEFORMAT="[ %d/%m/%Y %H:%M:%S ]"

Avec SystemD

# journalctl -t sudo -p 5 -u session-*.scope -b
Sep 12 08:19:01 vmdeb01 sudo[601]:    admin : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/bash
2025/03/24 15:06

Torréfier une application grâce à Tsocks

Torréfier : Passer par le réseaux Tor (pour cacher son IP) Voir https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO

Tor doit être correctement configuré et lancé

/etc/tsocks.conf

server = 127.0.0.1
server_port = 9050
tordns_enable = true
 
local = 127.0.0.0/255.128.0.0
local = 127.128.0.0/255.192.0.0
local = 192.0.0.0/255.0.0.0 
tsocks w3m http://mire.ipadsl.net

Ne marche pas pour toutes les applications, dépend des APIs utilisées !

2025/03/24 15:06

Lister la table des process dans un fichier txt avec top

top -n 1 -b > /tmp/processtable.txt
top -b -n 1 -o '%CPU' | sed 1,7d
 
getCpu="$(top -b -n2 -d10 | awk '/PID USER/ {getline;printf "Process: %s, cpu: %s %\n",$12,$9}' | tail -1)"
typeset -i cpu="$(echo $getCpu | awk -F"," '{print $2}'|  awk -F":" '{print $2}' | awk '{print $1}')"
2025/03/24 15:06

Équivalent à GNU screen / tmux pour X

Voir aussi :

  • xmove
  • winswitch

xpra

http://xpra.org/

xpra --no-pulseaudio --no-clipboard  --compress=9 attach ssh:tribler@kimi:2222:100
  • 2222 : port TCP pour SSH
  • 100 : Identifiant pour xpra
2025/03/24 15:06

Python paradigmes

Voir :

Python 4 algo différent pour faire des factorielle

Autres

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