Comment tester la sécurité d'un serveur linux avec une seule ligne de commande.
Edit : Doudou pense à regarder ça.
Procédons par étape :
- Formatter vos carte SD en FAT32 (1 seule partition prenant tout l'espace disponible).
- Télécharger l'image de la dernière Rapbian disponible ici.
- Identifier sur quel lecture votre carte SD se trouve en utilisant la commande fdisk :
sudo fdisk -l
N.B : chez moi il s'agit de /dev/sdb1
- Aller dans le répertoire où vos avez téléchargé votre Raspbian (à l'heure où j'écris il s'agit de la 2017-09-07) :
- Saisissez la commande (en remplaçant mes valeurs par les votres, ne soyez pas stupide hein) :
# Explications : # 'dd' permet de faire une copie bit à bite de l'image vers votre carte SD. # 'if' signifie "Input File", c'est la source des données à transférer # 'of' signifie "Ouput File", c'est la destination des données lors du transfert # conf=fsync est une option de contrôle utilisée par 'dd' lors de la copie # status=progress permet d'afficher la progression de la copie sudo dd bs=4M if=2017-09-07-raspbian-stretch-lite.img of=/dev/sbd status=progress conv=fsync
- Une fois l'opération terminée, démontez correctement votre clef USB et branchez-là sur votre Raspberry Pi
Remarques :
- Sur certaines cartes SD, l'option bs=4M doit être descendue à bs=1M autrement l'écriture ne se fera pas.
- Sur certaines version de la commande 'dd', l'option status=process soit n'affiche rien, soit empêche l'écriture ; auquel cas il faut la retirer.
Ce qui donne :
sudo dd bs=1M if=2017-09-07-raspbian-stretch-lite.img of=/dev/sbd conv=fsync
Comment ajouter l'autocompletion dans le shell
1) Installer le paquet :
apt-get install bash-completion
2) Ajouter à votre ~/.bashrc :
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Et voilà !
La killer-feature de Debian 9 : fuck
C'est une nouvelle commande qui s'ajoute au système pour nous aider dans notre vie de tous les jours.
Pour faire simple voici les deux commandes à utiliser au sein de votre répo.
Pull only :
git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
Pull / Push :
git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose
Pour Utiliser le répo :
git clone git://127.0.0.1/
Rappel : Le port part défaut du protocol
Tout htop expliqué. Pour toi Animal, via je ne sais plus quel shaarli
Vous tapez cp_p source destination
Le script à ajouter dans le bash.rc
#!/bin/sh
cp_p()
{
strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "%3d%% [", percent
for (i=0;i<=percent;i++)
printf "="
printf ">"
for (i=percent;i<100;i++)
printf " "
printf "]\r"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}
Décrotter Git quand Git vous lâche.
En gros :
1) Créer un répertoire ~/.fonts
2) Y copier vos fichier TTF
3) Exécuter les commandes
-
sudo fc-cache -f -v # (pour l'OS)
-
fc-cache -f -v # (pour vous, sinon c'est redémarrage)
Compression au max avec 7zip en ligne de commande sous Linux :
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir/
Vous travaillez avec Maven depuis une connexion de merde. Ce dernier tente de télécharger 5 ou 6 artifacts de plusieurs méga en parallèle alors que votre vitesse de connexion n'excède pas les 16 Ko / sec (saloperie de H+ Free Mobile... Je dis ça, je ne dis rien mais on dirait du Edge). Bref, il serait plus rentable pour vous de télécharger les artifacts l'un après l'autre, d'autant que si votre connexion plante, vous avez plus de change de posséder un artifact en version complète dans votre répo local. Du coup voici la commande magique à fournir à Maven pour le forcer à s'exécuter en mode mono-thread et donc "no parallel downloads" :
mvn -Dmaven.artifact.threads=1 clean install
Pour toutes celles et ceux qui doivent sécuriser un Linux
Nettoyer sa Debian
Je commence de lister un ensemble de commandes Git utiles.
Comment récupérer la liste de tous les auteurs ayant contribué à un répo :
git log --format='%aN' | sort -u
Comment commiter à une autre date que la date du jour ?
git commit --date="Wed Feb 16 14:00 2011 +0100"
==> Le format est obligatoirement celui fournit dans l'exemple.
Comment afficher le contenu d'un fichier à une date précise :
git show ${ID_COMMIT}:Test.txt
==> À noter que ${ID_COMMIT} peut être un tag, un hash ou une branche.
Très pratique.
Les bonnes pratiques de sécurité sur la commande sudo pour Linux
La commande à utiliser : sudo dtrace -n 'pid$target::SecKeychainLogin:entry{trace(copyinstr(uregs[R_ECX]));}' -p $(ps -A | grep -m1 loginwindow | awk '{print $1}')
Comment ça marche :
1) Vous vous connectez en SSH à une machine sur OSX.
2) Vous exécutez la commande.
3) Vous attendez patiemment qu'une personne se connecte.
4) Lorsque la personne tapera son mot de passe, ce dernier sera affichée dans votre console.
Pas mal nan ? (Faut que je teste sur ma Debian)
La commande lsof. Coudifier aussi, hop !