Linux: divers trucs et astuces
Sommaire
Petites et grandes recettes, en ligne de commande principalement.
Enregistrer commandes et sortie écran d'une session interactive
La commande 'script' permet d'enregistrer l'ensemble des actions et sorties dans un fichier. Pratique pour garder mémoire des actions effectuées pour configurer un système, installer des outils, etc... script démarre un sous-shell qu'on termine par exit , ^D, ... Le flag -a (append) permet de poursuivre le log d'une session précédente.
Rechercher et classer les répertoires/fichiers par taille
- classement des répertoires et fichiers avec du :
# du -ah /var/* 2>/dev/null | sort -rh | head -n 10
- classement de fichiers seuls avec find
$ find . -type f -iname "$pattern" -printf "%s %p\n" | sort -n
ipcalc : verification / calcul netmask/prefix/broadcast d'adresse IPv4/v6
Exemples:
$ ipcalc -m 192.168.1.12/28 NETMASK=255.255.255.240 $ ipcalc -6 -c 192.168.1.1223 ipcalc: bad IPv6 address: 192.168.1.1223
Trouver les fichiers supprimés détenus par des process actifs
Par exemple, dans le cas ou df montre un espace libre inférieur à l'occupation supposée d'un FS, il se peut que des fichiers supprimés soient encore liés à un process actif. Dans ce cas, l'espace ne sera vu libre qu'à la terminaison de celui-ci. Lsof peut identifier ces cas:
$ lsof +aL1 / COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME gnome-she 2498 toine 21u REG 253,2 16384 0 33645923 /tmp/ffiZmkNQX (deleted) gnome-ter 29232 toine 16u REG 253,2 131072 0 33671856 /tmp/#33671856 (deleted)
Format du mot de passe dans /etc/shadow
Tiré de la page man crypt:
"Si salt est une chaîne de caractères commençant par les caractères « $id$ » et suivit par une chaîne se terminant par « $ » :
$id$salt$encrypted
alors au lieu d'utiliser la machine DES, id indique la méthode de chiffrement utilisée et comment le reste de la chaîne de mot de passe est interprétée. Les valeur suivantes sont prises en charge pour id :
ID | Method
──────────────────────────────────────────────────────────
| MD5
2a | Blowfish (pas dans la glibc officielle ; ajoutée
| par certaines distributions Linux)
5 | SHA-256 (depuis la glibc 2.7)
6 | SHA-512 (depuis la glibc 2.7)
Ainsi, $5$salt$encrypted est un mot de passe chiffré SHA-256 et $6$salt$encrypted est un mot de passe SHA-512.
« salt » comprend jusqu'à 16 caractères de sel après « $id$ ». La partie encrypted de la chaîne de mot de passe correspond au mot de passe chiffré. La taille de cette chaîne est fixe :
MD5 | 22 caractères
SHA-256 | 43 caractères
SHA-512 | 86 caractères
Les caractères de « salt » et « encrypted » sont tirés de l'ensemble [a–zA–Z0–9./]. Dans les implémentations MD5 et SHA, key est utilisé entièrement (au lieu de seulement les 8 premiers octets dans l'implémentation DES).
Process, threads, etc...
Trouver l'exécutable correspondant à un PID
- sous rhel 6, 7, ...
readlink /proc/<pid>/exe
- sinon, lsof -p <pid> montrera l'exécutable dans les premières lignes (#3 en principe).