01 Dec 2019, 00:00

Réinitialiser la prise en compte du TPM par Windows

Suite à un changement de carte-mère, et donc à un remplacement de la puce TPM dedans, il peut arriver d’avoir des messages d’erreur (notamment 0x80090016) à l’ouverture de session Windows, ou Outlook (ou autre ?).

Ceci semble lié au fait que les infos d’identification étaient chiffrées grâce à un jeu de clés situé matériellement dans la puce TPM.
Pour corriger ceci, il faut renommer le dossier

C:\users\%username%\AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy

en .OLD (ou le supprimer…). Puis fermer la session.

Les infos d’identification seront redemandées au prochain lancement de la session ou de l’appli (et, je suppose, chiffrées grace au nouveau jeu de clés de la nouvelle puce).

Source

Il semble que dans certains cas (visiblement en lien avec la protection par code PIN), la solution soit plutôt (ou aussi ?) de supprimer le contenu du dossier

C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc\

20 Nov 2019, 00:00

Sed

https://www.grymoire.com/Unix/Sed.html#uh-61

Début et fin de ligne

^ représente le début de ligne,
$ représente la fin de ligne.

Substitution

Lorsqu’on encadre la regex avec des apostrophes, son contenu est envoyé littéralement à sed.
Lorsqu’on l’encadre avec des guillements, les variables sont déployées par bash avant passage à sed.

L’option -r ou -E (POSIX) sert à passer en syntaxe d’expression régulières étendues. La seule différence est que, en mode étendu, les caractères ?+(){} servent par défaut de caractères spéciaux, et qu’ils faut les échapper pour les considérer en caractères littéraux.
Source

Un groupe encadré par des parenthèses signifie “cette suite de caractères précisément”.
On peut également accéder à ce contenu dans la partie remplacement. Le contenu des premières parenthèses sera accessible par \1, le contenu des deuxièmes par \2 etc (backreferences)
Par exemple,
echo azerty | sed -r 's/a(ze)r(ty)/\1 \2/'
renverra ze ty.

Un groupe de caractères entre crochet signifie “un caractère parmi ceux-là”. Le point doit être échappé pour y être placé. Si on souhaite placer les crochets eux-même dans ce groupe, il semble qu’il faille les mettre en premier, crochet fermant d’abord. On peut aussi y placer [:space:] pour inclure les espaces et tabulations. De même, il semble qu’il faille les mettre juste après les crochets (inclus dans les crochets).
Par exemple :
sed 's/[][[:space:](){}\._-]//g'

On peut choisir le nombre d’occurences d’un motif grâce à plusieurs opérateurs:
* : 0 ou + occurences
? : 0 ou 1 occurence
+ : 1 et + occurences
{m} : m occurences
{m,n} : entre m et n occurences
{m,} : m occurences et plus

Suppression de lignes

Se fait avec la syntaxe sed '/PATTERN/d' qui supprimera les lignes qui contiennent le motif “PATTERN”.
À l’inverse, sed '/PATTERN/!d' supprimera les lignes qui ne contiennent PAS le motif “PATTERN”. Dans ce cas, les simples apostrophes semblent nécessaires, sinon le motif “!d” est transformé en la commande “date”.

Délimiteur via motif

On peut spécifier 2 motifs qui définiront l’intervalle d’action de sed.
sed '/startpattern/,/endpattern/ <sed-commands>' file

05 Nov 2019, 00:00

Let's encrypt / Certbot

Visualiser les certificats existants :

cerbot certificates

Il vaut mieux créer un certificat par domaine, plutôt qu’un pour tous les domaines (ce qui est le cas par défaut si non précisé) Pour créer un nouveau certificat pour un domaine précis :

sudo certbot --apache -d example.com --rsa-key-size 4096

Les fichiers se retrouvent dans /etc/letsencrypt/archive/ et sont linkés dans /etc/letsencrypt/live/

Pour rajouter un domaine à un certificat existant :

certbot --expand -d example.com,new.example.com

Pour supprimer un certificat, il semble qu’il n’y ait d’autre moyen que de supprimer les dossiers concernés dans les dossiers live, archive et renewal (dans /etc/letsencrypt/ )

Pour renouveler tous les certificats :

certbot renew

Pour renouveler seulement un domaine précis, au choix :

certbot certonly -d example.com

Vérifier la longueur d’une clé en appel direct d’un site web :

echo | openssl s_client -connect example:443 2>/dev/null | openssl x509 -text -noout | grep "Public-Key"

05 Nov 2019, 00:00

Notes sur les ACL Linux

Général

Les ACL (Access Control List) sont des autorisations qui permettent de gérer les droits de manière plus fine que les permissions UNIX traditionnelles.

Elles doivent être activées dans le noyau Linux (grep -i acl /boot/config*).

Elles doivent aussi être activées lors du montage de la partition, soit explicitement, soit via les options de montage par défaut (sudo tune2fs -l /dev/sdX1 | grep Default\ mount pour voir les options de montage par défaut d’une partition).

On vérifie que les outils sont installés : sudo apt install nfs4-acl-tools acl

On repère un dossier sur lequel des ACL sont positionnées via la présence d’un “+” à la fin des permissions. Par exemple :

ls -al ./DATA

donne

drwxr-x---+ 14 user     group      4096 oct.  31 12:44 .

Visualisation des ACL

On peut voir le détail avec la commande getfacl ./DATA

# file: DATA/
# owner: user
# group: group
user::rwx
user:www-data:r-x
group::---
mask::r-x
other::---

On y voit les permissions classiques via user::, group:: et other::. On peut voir que l’utilisateur “www-data” possède des droits de lecture positionnés via ACL.

Lister les ACL récursivement dans un dossier

getfacl -R -s -p /directory | sed -n 's/^# file: //p'

Source

Définition des ACL

On peut modifier les ACL via la commande setfacl. Par exemple, pour ajouter des droits RW à l’utilisateur “user2”, on lance :

setfacl -m u:user2:rwx ./DATA

Récursivement :

setfacl -R -m u:user2:rwx ./DATA

qui positionnera les droits RW pour user2 sur tous les fichiers/dossiers inclus dans ./DATA.

Suppression des ACL

On peut supprimer les autorisations via setfacl -b ./DATA.
On peut les supprimer récursivement via setfacl -R -b ./DATA. Cela supprimera toutes les ACL positionnées sur des fichiers/dossiers qui sont inclus dans ./DATA.

14 Oct 2019, 00:00

Prévoir la taille des données à déplacer lors d'une réduction de partition NTFS
/sbin/ntfsresize --force --no-action -s 100G /dev/sdX1 | grep -e ERROR -e relocations

--force peut ne pas être nécessaire
-s indique la nouvelle taille de partition, par défaut en octets, et peut être suivi des suffixes k,M,G,ki,Mi ou Gi

On peut aussi

07 Oct 2019, 00:00

100% CPU pris par lsass quand Chrome lancé

Dans le cas où, au lancement de Chrome, le processus lsass.exe s’emballe jusqu’à prendre 100% d’un coeur, ça peut être dû à une installation d’extension qui n’aboutit jamais.

Essayer de supprimer 2 fois le dossier %appdata%\Microsoft\Protect\GUID.

07 Oct 2019, 00:00

Notes sur systemd

Gestion des services

Les services sont stockés sous forme de fichier .services présents dans /lib/systemd/system/ et /etc/systemd/system/.
Lorsqu’ils sont activés, des liens vers ces fichiers sont présents dans des dossiers du type /lib/systemd/system/my-service.wants ou /lib/systemd/system/runlevel.wants.

Pour désactiver le démarrage automatique d’un service :
sudo systemctl disable mon-service.service
Pour le réactiver :
sudo systemctl enable mon-service.service
Vérifier s’il va démarrer automatiquement au prochain boot :
systemctl is-enabled mon-service.service
Voir s’il est en cours de fonctionnement :
systemctl status mon-service.service

Pour le démarrer ou l’arrer manuellement :
systemctl start mon-service.service
systemctl stop mon-service.service

Pour voir le journal d’un service :
journalctl -u mon-service

User-level services

dans $HOME/.config/systemd

Pour les gérer, systemctl --user

06 Oct 2019, 00:00

Désactiver le formatage automatique des cellules en tant que nombre sous LibreOffice Calc

Source

Ouvrir un classeur vierge. Taper F11, pour Ouvrir les Styles et formatages.
Modifier “Par défaut” (modifie les caractéristiques de toutes les celleules, pour ce document uniquement)", et définir le style par défaut pour les nombre en tant que “Texte”.

Fichier -> Modèles -> Enregistrer comme modèle
Ranger dans une catégorie, lui donner un nom (par ex. “FormatageAutoEnTexte”), cocher “par défaut” en bas, et valider.

Ainsi, dans tous les nouveaux documents, ce réglage sera appliqué, et les 0 en début de chaîne ne sauteront plus.

28 Sep 2019, 00:00

Gestion des GPO et ajout de fichiers ADMX

gpedit.msc sert uniquement à modifier les stratégies de groupes locales. La commande est disponible sur les Windows standards (Pro en tout cas).
gpmc.mmc sert à modifier, sur un controlleur de domaine, les GPO qui seront déployées chez les clients via Active Directory. Si cette commande n’est pas disponible sur un serveur, c’est probablement que le rôle de gestion des stratégies de groupes n’a pas été installé (ajouter des fonctionnalités -> Gestion des stratégies de groupe).

Par défaut, toutes les GPO ne sont pas disponibles dans l’outil gpmc.msc. Notamment, la catégorie “Modèles d’aministration”. Or, si on lance gpedit.msc, on voit que beaucoup de stratégies sont disponibles sous cette catégorie.

Pour ajouter des stratégies à l’outil gpmc.msc, on utilise des fichiers ADMX (ou, historiquement, ADM). Ils sont généralement déployés via les mises à jour Windows, mais ne sont disponibles que pour le système local. On les trouve dans le dossier %windir%\PolicyDefinitions, sous la forme de fichiers ADMX associés à des fichiers de localisation ADML dans des répertoires de langue (par exemple fr-FR).
On peut prendre tous ces fichiers, et les copier dans le dossier %windir%\SYSVOL\sysvol\mon.domaine.fr\Policies\PolicyDefinitions

27 Sep 2019, 00:00

FQDN d'un controlleur de domaine dans une mauvaise zone de sécurité d'Explorer

Description du problème chez Microsoft Tuto pour l’activation par GPO

Dans certains cas, lorsque l’on est dans un domaine, et que l’on cherche à accéder à un serveur via son nom complet(FQDN, du type server.domain.example.com), alors le poste considérera que ce domaine appartient à la zone de confiance “internet”, et donc bloquera l’ouverture de certains documents, scripts, exécutables etc.
Pour corriger ce problème, on peut aller dans les options internet du poste en question, et passer les sites *.domain.example.com en zone Intranet.

Mais on peut aussi déployer ceci sur tous les postes du domaine, via GPO, ce qui évite d’avoir à le faire à la main sur chaque poste. Pour ceci, sur un controlleur de domaine :

  • S’assurer que les ficheirs ADMX ont été installés
  • gpmc.msc
  • Configuration utilisateur -> Stratégies -> Modèles d'administration -> Composants Windows -> Internet Explorer -> Panneau de configuration Internet -> Onglet Sécurité et activer le paramètre Liste des attributions de site aux zones Lorsqu’on rentre dans les propriétés du paramètre, on peut afficher les zones, et associer *.domaine.example.com à la valeur 1.
    (1 : zone intranet ; 2 : sites de confiance ; 3 : internet ; 4 : sites ensibles)