Linux: divers trucs et astuces : Différence entre versions
m |
m |
||
| (6 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
= Petites et grandes recettes, en ligne de commande principalement. = | = 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 = | = Format du mot de passe dans /etc/shadow = | ||
| Ligne 28 : | Ligne 44 : | ||
SHA-512 | 86 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). | 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). | ||
| + | |||
| + | = Magic SYSRQ = | ||
| + | == Tenter des choses quand le système ne répond plus == | ||
| + | |||
| + | Le système ne répond plus, et on veut seulement rebooter le plus proprement possible, sans utiliser le bouton d'alimentation... | ||
| + | |||
| + | Si le Kernel a été compilé avec CONFIG_MAGIC_SYSRQ=y : | ||
| + | $ grep SYSRQ /boot/config-$(uname -r) | ||
| + | alors, on peut tenter les combinaisons suivantes pour rebooter la machine en mode panique (les séquences sont traitées par le noyau). | ||
| + | |||
| + | ** Alt+SysRq+r: récupérer le contrôle du clavier | ||
| + | ** Alt+SysRq+e: signaler SIGTERM à tous process sauf init pour leur laisser une chance de s’arrêter proprement. | ||
| + | ** Alt+SysRq+i: signaler SIGKILL à tous process sauf init | ||
| + | ** Alt+SysRq+s: tenter la commande sync sur tous les filesystems montés | ||
| + | ** Alt+SysRq+u: remonter tous les filesystems read-only | ||
| + | ** Alt+SysRq+b: reboot | ||
| + | ** Alt+SysRq+o: shutdown | ||
| + | |||
| + | Phrase mnemo-technique pour ces séquences de touches SysRq key pour un reboot propre: "Reboot Even If System Utterly Broke" | ||
| + | |||
| + | Voir https://en.wikipedia.org/wiki/Magic_SysRq_key | ||
[[Category:Linux]] | [[Category:Linux]] | ||
[[Category:Tips&Tricks]] | [[Category:Tips&Tricks]] | ||
[[Category:Cryptage]] | [[Category:Cryptage]] | ||
Version actuelle datée du 16 septembre 2018 à 18:05
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).
Magic SYSRQ
Tenter des choses quand le système ne répond plus
Le système ne répond plus, et on veut seulement rebooter le plus proprement possible, sans utiliser le bouton d'alimentation...
Si le Kernel a été compilé avec CONFIG_MAGIC_SYSRQ=y :
$ grep SYSRQ /boot/config-$(uname -r)
alors, on peut tenter les combinaisons suivantes pour rebooter la machine en mode panique (les séquences sont traitées par le noyau).
- Alt+SysRq+r: récupérer le contrôle du clavier
- Alt+SysRq+e: signaler SIGTERM à tous process sauf init pour leur laisser une chance de s’arrêter proprement.
- Alt+SysRq+i: signaler SIGKILL à tous process sauf init
- Alt+SysRq+s: tenter la commande sync sur tous les filesystems montés
- Alt+SysRq+u: remonter tous les filesystems read-only
- Alt+SysRq+b: reboot
- Alt+SysRq+o: shutdown
Phrase mnemo-technique pour ces séquences de touches SysRq key pour un reboot propre: "Reboot Even If System Utterly Broke"