quota (brouillon)

repquota -s /var/www : reporting de l’espace utilisé par utilisateur pour le volume /var/www (-s pour les valeurs «human readable» )

edquota michael -f /var/www/ éditer les quotas pour le volume /var/www et l’utilisateur michael

warnquota -d /var/www envoyer un message à ceux qui ont dépassés le quota autorisé (-d pour ne pas afficher le détail)

/etc/warnquota.conf :

MESSAGE   = {MESSAGE}
SIGNATURE = {SIGNATURE}
# MAIL_CMD = "/usr/sbin/sendmail -t"
MAIL_CMD = "/usr/local/sbin/custom-warnquota"
FROM 		= "quota@exemple.fr"
SUBJECT 	= {SUBJECT}

/usr/local/sbin/warnquota-custom:

#!/bin/bash

original=$(cat /dev/stdin)

to=$(echo "$original"|grep '^To: '|sed 's/To: //')

result=${original}
result=$(echo "$result"|sed "s/{SUBJECT}/[quota] quota dépassé pour le site $to/")

message='print "<p>Bonjour,</p>\n";'
message=$message' print "<p>le serveur a détecté que le quota autorisé pour le dossier <b>'$to'</b> a été dépassée.</p>\n";'
message=$message' print "<p>Cela signifie que le système pense que vous utilisez plus d'"'"'espace disque que ce que vous devriez.<br><br>Si les fichiers ne sont pas supprimés avant la «période de grâce», le système empêchera la création de nouveau fichiers. La limite actuelle est à 1Go.</p>";'
message=$message' print "\n<p>Bonne journée,<br><br>Michaël<br>(Ce courriel est généré automatiquement)</p>";'
signature='print "<br>";'

# awk '1;/PATTERN/{ print "add one line"; print "\\and one more"}'
result=$(echo "$result"|awk "1;/{MESSAGE}/{ $message$signature }")

result=$(echo "$result"|sed "s/{MESSAGE}//")
result=$(echo "$result"|sed "s/{SIGNATURE}//")
result=$(echo "$result"|sed "s/Content-Type: text\/plain/Content-Type: text\/html/")

result=$result

echo "$result" | /usr/sbin/sendmail -t

command_return=$?
if [[ "$command_return" -ne 0 ]]; then
  echo "Erreur $command_return: Une erreur est survenue avec la commande sendmail pour les quotas "
  echo "result:"
  echo "$result"
  exit 1
fi

script création dkim

Script pour automatiser la configuration de postfix/DKIM pour un nouveau site à héberger (prérequis: installer dkim et configurer postfix comme ici: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy )

#!/bin/bash

domain=$1

# «selector» est utilisé pour retrouver l'enregistrement TXT correspondant dans la zone DNS
selector=mail

opendkim_config_path=/etc/opendkim
keys_path=$opendkim_config_path/keys

if [[ -z "$domain" ]]; then
  echo "1er argument (domaine) manquant"
  exit 1
fi

if [[ ! "$domain" =~ ^[a-z_A-Z-]+\.[a-zA-Z]{2,4}$ ]]; then
  echo "domaine '$domain' incorrect"
  exit 2
fi


if [[ -d $keys_path/$domain ]]; then
  echo "dossier '$domain' existe déjà dans $keys_path"
  exit 3
fi

file_trusted_host=$opendkim_config_path/TrustedHosts
file_signing_table=$opendkim_config_path/SigningTable
file_key_table=$opendkim_config_path/KeyTable

if grep "$domain" $file_trusted_host; then
  echo "Le domaine '$domain' existe déjà dans $file_trusted_host"
  exit 4
fi

if grep "$domain" $file_signing_table; then
  echo "Le domaine '$domain' existe déjà dans $file_signing_table"
  exit 5
fi

if grep "$domain" $file_key_table; then
  echo "Le domaine '$domain' existe déjà dans $file_key_table"
  exit 6
fi

keyTableString="$selector._domainkey.$domain $domain:$selector:/etc/opendkim/keys/$domain/$selector.private"
signingTableString="*@$domain $selector._domainkey.$domain"
trustedHostString="*.$domain"

echo $trustedHostString >> $file_trusted_host
echo $signingTableString >> $file_signing_table
echo $keyTableString >> $file_key_table

mkdir $keys_path/$domain
cd $keys_path/$domain
opendkim-genkey -s $selector -d $domain
chown opendkim:opendkim $selector.private

cd $opendkim_config_path
chown opendkim:opendkim $keys_path/$domain

echo "Ajouter la clé publique à la zone DNS"
echo "-----"
cat $keys_path/$domain/$selector.txt
echo "-----"

systemctl restart postfix
systemctl restart opendkim

echo "Commande pour tester:"
echo -----
random_email_dkimvalidator=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 19 | head -n 1)@dkimvalidator.com
echo "test |mail -a 'From: root@$domain' -s 'test dkim pour $domain' $random_email_dkimvalidator"
echo "et vérifier: https://dkimvalidator.com/results?email=$random_email_dkimvalidator"
echo -----

Ce week-end, un chasseur

Ce matin, un Lapin

Ce week-end, un chasseur
À tué un cycliste
Ce week-end, un chasseur
À tué un cycliste
C’était un chasseur, qui
C’était un chasseur, qui
Avait un permis

Du côté de Montriond
Ce week-end est arrivé
Une chose que tout l’monde
Avait bien vu arriver

C’était je crois l’quatrième
Depuis l’début d’la saison
Ces p’tits accidents mortels
Moitié-prix, merci Macron

Ce week-end, un chasseur
À tué un cycliste
Ce week-end, un chasseur
À tué un cycliste
C’était un chasseur, qui
C’était un chasseur, qui
Avait un permis

Les premiers écologistes
De France, ça c’est certains
N’aiment pas trop les cyclistes
Préfèrent le civet d’Lapin

Ne soyez pas en colère
Les accidents ça arrive
Ne soyez pas trop vénère
Fautes de Merles on mange des grives

Ce week-end, un chasseur
À tué un cycliste
Ce week-end, un chasseur
À tué un cycliste
C’était un chasseur, qui
C’était un chasseur, qui
Avait un permis

Manuel Valls

capitaine Flam

Manuel Valls tu n’trouve pas
Vraiment ta place ici
Tu n’as plus trop d’ami
(Manuel Valls !)
À l’assemblée tu t’ennuies
Les méchants insoumis
Ne veulent plus voir ta pomme

Manuel Valls tu n’es pas
Le meilleur député
Qu’ils disent à la télé
( Manuel Valls !)
Tu quittes enfin l’Assemblée
Tenter ta chance à la
Mairie d’Barcelona

Tu nous as/parlé des arabes
En jouant sur les thêmes
Chers à la droite extrême
Tu as trahi

Ceux là
Qui t’ont traité d’minable
Sans soutenir Benoît
Qui n’le méritait pas

Manuel Valls tu n’as pas
Su t’intégrer ici
Ça tu l’as bien compris
(Manuel Valls)
Pas si loin que l’infini
Tu vas quitter Paris
Pour vivre à Barcelone

Manuel Valls nous à la
Goguette des z’énervés
Tu vas bien nous manquer
(Manuel Valls)
On espère qu’tu vas t’viander
Et que tu reviendras
Inspirer nos débats

Mnauel Valls c’est pour ça
Que si tu reste là bas
Jamais on t’oubliera !

Les amoureux d’la république

Les gens qui pensent de travers
pensent que les billets verts
Les euros, les dollars
Sont gagnés honnêtement par des gens importants

Mais c’est une absurdité
Ici tout l’monde le sait
De plus j’ai bon espoir
Que ceux qu’ont voté pour lui s’en rendent compte à présent

Les amoureux du président d’la république
République, république
Ne sont pas toujours aussi cynique
Qu’les banquiers malhonnêtes

Les amoureux du président d’la république
République, république
Qui défendent toutes ces mesures iniques
N’ont pas qu’des pensées archaïques

Au départ ils doutent de rien
Trouvent Macron si malin
Écoutent sans un murmure
Pénicaud, Colomb Schiappa il faut les écouter

Mais déjà au bout d’un an
Les fans du président
Sont déjà plus si sûr
Et les militants d’en marche commencent à déserter

[Refrain]

Quand l’ministre Darmanin
Croise sur son chemin
Une de ses victimes
Il assume d’être un salaud les yeux dans les yeux

N’empêche que sa victime
Sa mère son père sa famille et nous tous ici
Voudraient bien que les puissants
S’conduisent moins comme eux

[Refrain]

Maint’nant qu’les mois sont passés
QU’on est tous énervés
Par notre président
Maint’nant qu’on se rend tous compte
Qu’c’est un mini Zemmour

Ils s’apercevront déçu
Qu’ils se sont bien fait eu
Par un jeune arrogant
Qu’ils ont trop cru les médias
Et leurs fichus discours

[Refrain]

Il faut armer les professeurs

Hugues Aufray – Adieu Monsieur le professeur

Les enfants tués dans leurs écoles
Mais Donald Trump à tout prévu
L’a t-il lu dans l’évangile de Saint Paul
Il sait quoi faire pour que ça n’arrive plus

Il faut armer les professeurs
Les armes, c’est pour nous protéger
Pour que les enfants aient moins peur
La NRA va nous former
Les armes, n’apportent que du bonheur
Les guns c’est pour nous protéger
Les armes, ça n’a jamais tué
Il faut armer les professeurs

Et le président américent
Reçoit des millions de dollars
Emma, enrage contre le grand rouquin
La lycéenne dénonce ce brouillard

Il faut armer les professeurs
Les armes, c’est pour nous protéger
Pour que les enfants aient moins peur
La NRA va nous former
Les armes, n’apportent que du bonheur
Les guns c’est pour nous protéger
Les armes, ça n’a jamais tué
Il faut armer les professeurs

Le lobby des armes est en colère
Il faut pas tout politiser
Demain quqand nous déclareront la guerre
Vous s’rez content qu’vos enfants soient formés

Le roi Macron

(sur l’air de «Le Roi des cons» de Georges Brassens

Il y a peu de chances qu'on
Détrone le roi Macron
Il peut dormir ce souverain
La France est entre debonnes mains

Il, il il, il il, il il il
La Guyane est elle bien une île ?

Il est à droite comme Mitterrand
Il est à gauche comme Le Drian

La Rue c'pas la démocrtie
La Rue n'a pas battu les nazis

Que de Fake Niouze on accuse
Poutine Trump ou une autre buze

Que l'on discrédite Maduro
Et tous les pays trop coco

Que le Brexit d'angleterre
Augmente dans l'Europe la mißere

Que ça s'est vu dans le passé
Que soit dissoute l'Assemblée

Manuel revient

François Hollande, le président
A beaucoup d'ennui
Il n'arrive pas à se débarrasser de son premier ministre chéri
Pour le faire démissionner, Il a tenté d'foutre la pagaille
Il l'a même laisser parler pour défendre la loi travail
Mais… Manuel revient le jour suivant
Mais Manuel revient, il est toujours vivant
Ils sont dans l'embarras au Parti Socialiste
Manuel participera à la primaire des ministres
Il passe le premier tour
Mais perd face à Hamon
Cette fois-ci, c'est sans recours
Manu est fini pour de bon.
Le président élu - Macron Emmanuel
Ne veut pas se mouiller pour Valls Manuel
Pour les les législative, vraiment pas de soutiens
Ni d'En Marche, ni du PS, ni de personne, vraiment rien
Mais… Manu est élu
Le jour suivant
Manu est élu
Il est toujours vivant
Cette fois-ci Mélenchon
veut en finir avec cet oiseau
Il le traite de racistem de balourd, de facho.
SUr les bancs de l'Assemblwe
Valls et Méluche ne s'enstendent pas
Et sur BFMTV, les commentateurs… Je vous raconte pas
Le conseil constitutionnel a été saisi
Pour invalider l'élection de notre «ami»
C'est lundi dernier que l'conseil s'est réuni
Pour nous faire une annonce dès le vendredi

Et… Valls est toujours, le député d'Evry
Et tant pis pour Fari, Farida Amrani
Et que s'passera t-il
Dans 4 ans et demi
Valls prénom Manuel
Nous en prépare de belles…

Quelqu’un m’a dit

(goguette incomplète)

On me dit qu'insoumis niveau démocratie
C'est pas la panacée c'est plus une tyranie
On me dit que la gauche est morte pour le moment
Et que je ferais mieux de changer de mouvement
Pourtant quelqu'un m'a dit d'être moins démocratif
C'est quelqu'un qui m'a dit, d'être, plus collectif
Attend la convention…
On dit que les marcheurs ne valent pas un clou
Qu'ils suivent aveuglément comme des gentils toutous
Parait qu'on est meilleur vu qu'on est insoumis
Puisqu'on est insoumis c'est donc qu'on est meilleur 
Pourtant quelqu'un m'a dit qu'il faut pas la ram'ner
C'est quelqu'un qui m'a dit
De n'pas trop me moquer
Serais-je trop impliqué … ?
Mais que c'passe t-il en Corse
Y'aurait des dissidents
…

Qwerty-Lafayette v0.5 avec setxkbmap

Petit article pour remettre au propre les étapes pour intégrer qwerty-lafayette à une distrib basée sur Debian.

Résultat attendu : la commande `setxkbmap fr lafayette` vous fera changer de layout.

Qwerty-Lafayette, c’est là : http://fabi1cazenave.github.io/qwerty-lafayette/

Cet article est basé sur http://simos.info/blog/archives/1134

Version courte en mode copier/coller :

wget http://qwerty-lafayette.org/releases/lafayette_linux_v0.5.xkb --output-document=lafayette.xkb
cut_start=$(echo "$(cat -n lafayette.xkb |grep 'partial alphanumeric_keys' | awk '{print $1-1}')")
cut_end=$(wc lafayette.xkb | awk '{print $1-3}')
sed -ni "${cut_start},${cut_end}p" lafayette.xkb
sed -i 's/"lafayette_group2"/"lafayette"/' lafayette.xkb | sudo tee --append /usr/share/X11/xkb/symbols/fr
sudo vim -e +"/<layout>\\n *<configItem>\\n *<name>fr<//name>\\n[//<>\\na-zA-Z0-9 ]*<variantList>/" +"/<variantList>/+1" +"i
 <variant>
 <configItem>
 <name>lafayette</name>
 <description>French (coding, Qwerty-Lafayette)</description>
 <languageList><iso639Id>fra</iso639Id></languageList>
 </configItem>
 </variant>
" +wq /usr/share/X11/xkb/rules/base.xml
sudo vim -e +"/<layout>\\n *<configItem>\\n *<name>fr<//name>\\n[//<>\\na-zA-Z0-9 ]*<variantList>/" +"/<variantList>/+1" +"i
 <variant>
 <configItem>
 <name>lafayette</name>
 <description>French (coding, Qwerty-Lafayette)</description>
 <languageList><iso639Id>fra</iso639Id></languageList>
 </configItem>
 </variant>
" +wq /usr/share/X11/xkb/rules/evdev.xml

Pour tester que le layout fr «habituel» fonctionne toujours :

setxkbmap fr

Pour (enfin!) tester le layout qwerty-lafayette

setxkbmap fr lafayette