Shell
Table of Contents
- 1. Les différents shell
- 2. Pourquoi utiliser
/usr/bin/envau lieu de/bin/bash - 3. Enregistrement microphone
- 4. Monter une image (Qemu, ProxMox, fichier binaire…)
- 5. Extraire un volume
sqashfsd'un firmware - 6. Vérification de sha
- 7. Changement d'encodage
- 8. Déchiffrer un volume
- 9. Tout est fichier (ou la veille et la luminosité dans un fichier)
- 10. TODO GPG
- 11. patat
1. Les différents shell
Il existe de nombreux shell, avec chacun leurs avantages et leurs inconvénients:
- sh
- bash (avec un sacré historique)
- zsh
- ksh
- fish
2. Pourquoi utiliser /usr/bin/env au lieu de /bin/bash
BSD ne met pas le shell dans /bin/bash. De plus, un shell non
essentiel n'a pas forcément sa place dans le dossier /bin. Les
disitributions ne le mettant pas là sont cependant extrêmement rare,
voir inexistantes.
3. Enregistrement microphone
Le paquet arecord, disponible dans alsamixer permet d'enregistrer
son micro.
# permet d'avoir la liste des microphones arecord -l # -vv : verbose, montre le volume du micro capté # -d : la durée en seconde # -f dat : format d'enregistrement # on peut préciser l'appareil avec --device="hw:carte,périphérique" arecord -vv -d 5 -f dat /path/to/file.wav # pour l'écouter aplay /path/to/file.wav
4. Monter une image (Qemu, ProxMox, fichier binaire…)
Comment monter une fichier binaire qui contient un volume. Il faut faire les commandes suivantes en étant root.
losetup --find --partscan drive-scsi0 mount /dev/loopXpX /mnt losetup -d /dev/loop0
5. Extraire un volume sqashfs d'un firmware
Trouvé pendant le Hack 2023.
# on peut voir s'il y a un offset pour le volume binwalk my_firmware.bin dd if=my_firmware.bin of=my_volume.squashfs bs=1 skip=offset
6. Vérification de sha
Il faut un fichier qui contient la structure suivante. Cette structure
est générée avec la sortie standart de shaXsum (où X peut-être 256,
512, etc.).
<sha> /chemin/vers/le/fichier
L'argument -c avec une commande de sha sur ce fichier permet de
check tous les fichiers qu'il contient et leur sha. lire la manpage
pour plus d'arguments comme --ignore-missing si l'on souhaite ne
vérifier qu'un fichier dont le sha est dans une liste.
7. Changement d'encodage
Merci doom.
iconv -f utf-8 -t iso-8859-1 fichier
-f indique l'encodage en entrée et -t celui en sortie. L'option
-l indique la liste des encodages connus.
8. Déchiffrer un volume
À indiquer : le chemin vers le volume chiffré et un nom pour créer un
nouveau volume déchiffré. Ce dernier sera trouvable dans
/dev/mapper/.
cryptsetup luksOpen /dev/sdXY enc mount /dev/mapper/enc /mnt umount /mnt cryptsetup luksClose enc
9. Tout est fichier (ou la veille et la luminosité dans un fichier)
Tout est fichier sur GNU+Linux, et même le contrôle de la luminosité, les informations de la batterie ou la mise en veille.
9.1. Veille
Il faut dans un premier temps vérifier ce qui est possible de faire
avec le PC. Ensuite, il suffit de faire la commande suivante pour
pouvoir mettre en veille l'ordinateur. doas est un équivalent de
sudo.
echo mem | doas tee /sys/power/state
9.2. Luminosité
La valeur voulue changera si l'on souhaite une luminosité plus forte
(plus grande) ou pas (plus basse). À noter que le dossier amdgpu_bl0
changera selon la carte graphique / CPU utilisé.
echo 8000 | doas tee /sys/class/backlight/amdgpu_bl0/brightness
9.3. Batterie
Les fichiers pour voir l'état de la batterie sont dans le dossier
/sys/class/power_supply/BAT1 (le numéro peut changer).
capacity: le pourcentage actuelstatus: l'état (charge en course, déchargement…)
10. TODO GPG
- lister les clés privées et publics, comment voir les id
- comment créer une clef
- comment les migrer
- comment ajouter une sous clé
11. patat
Outil pour faire des présentations dans le terminal. On lui donne un format similaire au Markdown en entré pour générer la présentation.