07 Jun 2026, 00:00

Btrfs

Général

https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Main_Page.html

Se gère avec la commande btrfs et ses sous-commandes.
Penser à
man btrfs subcommand

Installation

sudo apt install btrfs-progs

Formatage et label

sudo mkfs.btrfs /dev/sdX1 -L "Label"
btrfs filesystem label /media/BTRFS ["Nouveau label"]

Infos

sudo btrfs filesystem show /media/BTRFS

Utilisation espace

btrfs filesystem df /media/BTRFS
btrfs filesystem df /media/BTRFS
sudo btrfs filesystem usage

Attention, d’autres outils peuvent renvoyer des infos incorrectes.
Comme ncdu qui ne prend pas en compte la deduplication.

Vérification

btrfs check /dev/sdX

man btrfs check

Volumes

https://man7.org/linux/man-pages/man8/btrfs-subvolume.8.html

Un (sous-)volume est une arborescence de fichiers autonome.
Chaque volume a son propre espace d’inodes. Il peut donc y en avoir des inodes identiques au sein de différents volume.
L’inode d’un volume est toujours 256.

La racine du FS est elle-même un sous-volume, appelé top-level, avec un ID de 5. Ce sous-volume ne peut pas être supprimé/remplacé.

Un volume peut être monté indépendemment du reste du FS btrfs auquel il appartient, via l’argument
subvol=/@mysubvolume ou subvolid=257
Il est sinon possible de parcourir un sous-volume comme un simple dossier si son dossier parent est accessible dans l’arborescence.

Organisation

Une convention est de nommer les volumes @myvol. Ce n’est pas une obligation de commencer par @, mais très fréquemment utilisé.

On peut choisir de créer les volumes à la racine du top-level puis de les monter au sein de / (volumes “flat”), ou bien de les créer directement au chemin où ils doivent être accessibles, imbriqués dans un autre volume (volumes “nested”).
L’organisation flat correspond assez bien au fonctionnement de btrbk (voir plus loin). Elle est aussi pratique pour avoir un bon aperçu des volumes utilisés au sein d’un FS, et pour s’assurer de leur bonne sauvegarde. Mais ils ont besoin d’être montés dans le fstab (ou autrement).

Le principal avantage que je vois aux volumes nested, c’est d’être directement au bon emplacement, tout en étant exclus des snapshots. Ça me semble bien pour les dossiers temporaires, avec de la donnée qui sera recréée automatiquement si elle est absente, comme les dossiers de cache. Pas besoin de les monter.

Quelques dossiers qui peuvent être intéressants à mettre en sous-volume :

  • /var/log/
  • /var/cache
  • $HOME/.cache

Swap

On peut faire un swapfile sur btrfs. Pour ça, il faut créer un sous-volume dédié et désactiver le CoW (voir plus bas) puis faire
btrfs filesystem mkswapfile --size 2G ./swapfile

https://btrfs.readthedocs.io/en/latest/Swapfile.html

Lister les volumes

sudo btrfs subvolume list /media/BTRFS

liste tous les volumes du FS btrfs.
L’argument doit être le point de montage, pas un sous-dossier ou un sous-volume.

Volume par défaut

Lorsqu’on monte simplement la partition BTRFS, sans plus de précision, c’est un certain volume qui sera monté. C’est généralement le volume top-level, avec un id de 5, mais ceci peut se vérifier et se changer.

sudo btrfs subvolume get-default /media/BTRFS

Suppression

sudo btrfs subvolume delete /path/to/@subvol

Il est possible que l’espace ne soit pas récupéré immédiatement (lié au no-commit ?).
On peut forcer la récupération avec la commande sync.

Il est possible de simplement rm -R /path/to/@subvol , mais c’est beaucoup plus long (chaque fichier est supprimé, alors que la suppression du volume est quasi-instantanée).

Snapshots

Un snapshot est simplement un volume, qui a été initialisé avec les données déjà présentes dans le volume source.
Pour les créer :
sudo btrfs subvolume snapshot -r ./@sourcevol ./@snapshot/@backupvol

Le -r sert à mettre le snapshot en lecture seule. On peut l’enlever si on souhaite l’avoir en lecture-écriture.
Il est impératif que la destination soit sur le même FS btrfs.

Un snapshot ne prendra pas les données des sous-volumes nested !
Le volume nested se retrouve dans le snapshot avec un inode 2 ; il n’est pas listé dans les volumes du FS.
Il est transféré à nouveau sous forme d’inode 2 lors d’un snapshot depuis le snapshot.

Suppression

C’est un volume normal, donc btrfs subvolume delete.

Deduplication

https://btrfs.readthedocs.io/en/latest/Deduplication.html

send et receive

send ne peut être utilisé que sur un sous-volume.

CoW et limitations

VM et database : l’utilisation intensive favorise la fragmentation, dégrade les perfs, et peut grandement augmenter l’espace utilisé.

Il est possible de désactiver le CoW lors du montage du volume, mais tous les volume du même FS seront alors montée en nodatacow (et donc nodatasum).

Une autre possibilité est de positionner l’attribut nodatacow sur un dossier (qui peut être un sous-volume).
L’attribut nodatacow sur btrfs est C.
Pour lister les attributs :

lsattr ./file
lsattr -d ./folder/

Pour positionner l’attribut nodatacow :
chattr +C ./

S’il est positionné sur un dossier, alors tous les nouveaux fichiers crées dedans le possèderont aussi ; mais les fichiers existants ne seront pas affectés.

Pour changer le status CoW d’un fichier, il y a l’obligation de le réécrire.

Dynamiques de copie/déplacement

Lorsqu’on coupe/colle, il est possible que le fichier soit instantanément déplacé, ou bien qu’il doive être réécrit complètement.
Voici un petit tableau récapitulatif du comportement des transferts :

Pour la copie, la réécriture est directement liée au statut CoW du dossier de destination : s’il différe de celui du fichier, alors il y a réécriture.

Pour un déplacement, tant qu’on reste dans le même volume, le status CoW n’est pas modifié.
Mais dès que le volume change ET le dossier de destination a un statu CoW différente, alors il y a réécriture.

On note que 2 déplacements successifs peuvent produire un résultat différent d’un seul déplacement direct.

Par exemple, si on a l’arborescence :

---------------------- @cow
---------------------- @cow/TEST.iso
---------------------- cow
---------------C------ @nocow
---------------C------ nocow

et qu’on déplace TEST directement dans nocow, il est intégralement réécrit et on obtient : s

---------------------- @cow
---------------------- cow
---------------C------ @nocow
---------------C------ nocow
---------------C------ nocow/TEST.iso

Mais si on le déplace d’abord dans cow, puis dans nocow, le changement de volume se passe sans changement de CoW, puis on reste dans le même volume ; les 2 transferts sont instantanés et on obtient :

---------------------- @cow
---------------------- cow
---------------C------ @nocow
---------------C------ nocow
---------------------- nocow/TEST.iso

btrbk

https://github.com/digint/btrbk

Le principe général de btrbk, c’est de lire un fichier de conf, et d’exécuter une/des actions selon ce fichier de config.
La config va définir une ou plusieurs sources, répertoires de snapshots et répertoires de backups.
Dans la terminologie btrbk, un “snapshot” est un snapshot btrfs en read-only (en gros un versionning sur le même disque) ; et un “backup” est un sous-volume en read-only créé sur un autre FS btrfs via send/receive (en gros la copie sur un 2e disque).

L’appel se fait sous la forme :
btrbk -c /path/to/btrbk.conf [action] [filter] [-v] [-n] [-S] [--progress]

Les options -v (verbose) -n (dryrun, modifications non effectuées) et -S (pour afficher les raisons de conservation de chaque snapshot/backup) sont utiles pour mettre en place le fichier de conf et la rotation.
Il y a bien sûr d’autres options, mais celles-ci m’ont été très utiles.

Les actions peuvent être :

  • run : fait les snapshots, puis les backups, puis le nettoyage des versions
  • dryrun : montre les snapshots et les backups qui auraient été créés, mais sans rien écrire ; équivalent à run -n
  • snapshot : fait les snapshots et le nettoyage, ignore les backups
  • resume : ne crée aucun snapshot, mais fait les backups et le nettoyage de versions (snaps + backups)
  • prune : fait uniquement le nettoyage des versions
  • archive : copie récursivement tous les volumes depuis la source vers la cible (??)
  • clean : supprime les backups incorrects (qui ne se sont pas terminés avec succès)

Un récap de l’effet de chaque action est dispo dans le man :

           Command   Option                 S+ B+ S- B-
           --------------------------------------------
           run                              x  x  x  x
           run       --preserve             x  x
           run       --preserve-snapshots   x  x     x
           run       --preserve-backups     x  x  x
           snapshot                         x     x
           snapshot  --preserve             x
           resume                              x  x  x
           resume    --preserve                x
           resume    --preserve-snapshots      x     x
           resume    --preserve-backups        x  x
           prune                                  x  x
           prune     --preserve-snapshots            x
           prune     --preserve-backups           x

D’autres commandes, informatives, sont disponibles : stats, list, usage, etc. Voir man

Quant au filtre, s’il est présent, va n’appliquer l’action demandée qu’aux sections concernées par le filtre.
Attention, il ne s’applique pas qu’au groupe ! Il s’applique aussi aux sections (target, solume et subvolume).
Ainsi, la section target /media/backup sera incluse dans le spectre du filtre backup.

btrbk.conf

man btrbk.conf

Les éléments de ce fichier de conf se séparent en 2 catégories :

  • les sections (volume, subvolume et target)
  • les options (qui spécifient le fonctionnement de btrbk)

Concernant les sections :
volume est facultatif ; représente le chemin dans lequel on travaille. Pour une structure flat, c’est typiquement le point de montage du top-level ; si l’option est absente, il faut nécessairement mettre un chemin absolu pour l’option subvolume (et target ?)
subvolume : le sous-volume (au qui sera snapshotté) ; typiquement @rootfs ou @home
target : le dossier (autre FS btrfs) dans lequel sera transféré le snapshot, via send/receive ; s’il est absent, btrbk ne fera que des snapshots.

Les options sont nombreuses. Chaque option s’applique à la section à laquelle elle appartient, ainsi qu’à toutes les sections contenues dans celle-ci.
Par exemple, avec le fichier suivant :

volume /btrfs_slash
 snapshot_dir @snapshots
 subvolume @rootfs
  group snap
  target /media/user/BACKUP
 subvolume @log

l’option snapshot_dir s’applique à la section /btrfs_slash, et donc aussi aux 2 sections subvolume.
En revanche, l’option group et la sous-section target s’appliquent au sous-volume @rootfs uniquement.

snapshot_dir : le dossier qui contiendra les snapshots (local, même FS btrfs) créés par btrbk ; s’il est absent, le snapshot sera créé à côté du volume d’origine, mais avec la date ajoutée
group : permet d’assigner une “catégorie” à une section, pour pouvoir ensuite l’appeler en filtrant ; le nommage est libre

Durée de conservation

Celle-ci se définit via les options :

snapshot_preserve_min   latest
snapshot_preserve       48h 30d 12w 24m *y
target_preserve_min   latest
target_preserve       0h 60d 20w 24m *y

À lire, pour les snapshots par exemple :

  • conserver 1 snapshot par heure pendant 48h
  • conserver le 1er snapshot de la journée pendant 30 jours
  • conserver 1 snapshot par semaine pendant 12 semaines
  • conserver 1 snapshot par mois pendant 24 mois
  • conserver 1 snapshot par an

À noter qu’il peut y avoir moins de versions que le nombre spécifié, si certains snapshots ont été sautés. Par exemple, le nettoyage peut supprimer un snapshot vieux de 49h, même si il n’y a que 24 snapshots horaires car le poste était éteint pendant 24h.

Les valeurs _min sont définies par défaut à all, empêchant de fait un nettoyage des versions si on ne le spécifie pas.
En mettant  latest, c’est l’opposé, on ne force que la conservation du dernier snapshot.

Nettoyage et target

En cas d’appel à une section incluant une section target, si le chemin de la target est introuvable (par ex. disque débranché), btrbk fera bien les snapshot, mais ne fera ni les backups, ni le nettoyage des snapshots ; et ce même si on appelle l’action snapshot.
Comme il ne connaît pas les backups présents sur la target, il conserve tous les snapshots en local, quel que soit la planification de backup prévue.
Si une tache est planifiée tous les jours voire toutes les heures, avec un disque de sauvegarde régulièrement débranché, les snapshots peuvent alors s’accumuler, et augemnter sensiblement l’espace disque occupé.

Si on souhaite effectuer le nettoyage des snapshots, même en l’absence du disque, on peut alors mentionner le même volume 2 fois, mais dans des groupes différents, et les appeler séparément. Par exemple :

volume /btrfs_slash
 snapshot_dir @snapshots
 subvolume @rootfs
  group snap_only
 subvolume @rootfs
  group backup_only
  snapshot_create no
  target /media/user/BACKUP

permet de séparer l’appel des snapshots (avec nettoyage auto) de la partie backup (pour laquelle on désactive la création de snapshot).
Il suffira de choisir entre les filtres snap_only et backup_only.
Ceci risque de supprimer des snapshots avant qu’ils ne se retrouvent sur le disque externe en tant que backups, et donc de créer des trous dans l’historique des backups. Mais la possibilité existe, et permet un nettoyage automatique des snapshots pour éviter la saturation d’espace disque.

À noter que l’option snapshot_create no désactive la création de snapshot en cas d’appel run, mais un snapshot sera quand même créé si l’action appelée est snapshot.

btdu

Utilitaire 3d party pour un genre d’équivalent de ncdu
https://github.com/CyberShadow/btdu/
p pour mettre l’analyse en pause

autres

taille metadata ?

https://mpdesouza.com/blog/btrfs-for-mere-mortals-inode-allocation/

24 Jan 2026, 00:00

Le swap sous Linux

https://superuser.com/questions/1677225/check-which-processes-are-eating-swap-on-linux

Voir les périphériques actuellement utilisés en swap

cat /proc/swaps

Voir les périphériques pouvant être utilisés en swap

## Identifier les processus qui utilisent du swap

Les résultats sont en ko (comme dans le fichier /proc/$PID/smaps)

#!/bin/bash
# Get current swap usage for all running processes
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
    PID=`echo $DIR | cut -d / -f 3`
    PROGNAME=`ps -p $PID -o comm --no-headers`
    for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
    do
        let SUM=$SUM+$SWAP
        done
        if [ ! $SUM = 0 ] ; then
          echo "$SUM : Swap Used - ($PROGNAME ) PID=$PID"
        fi
        let OVERALL=$OVERALL+$SUM
        SUM=0
done
echo "Overall swap used: $OVERALL"

https://www.liquidweb.com/help-docs/server-administration/linux/identifying-which-processes-are-using-swap-memory/

24 Jan 2026, 00:00

SWAKS (SWiss Army Knife SMTP
sudo apt install swaks

24 Jan 2026, 00:00

Wayland

Failed to load module “atk-bridge”: ‘gtk_module_display_init’: /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so: undefined symbol: gtk_module_display_init apt install libatk-adaptor

Affichage graphique en root

Quand on fait sudo su - on ne peut pas lancer les programmes graphiques.
Pour le permettre :

Depuis la session hôte graphique :
xhost +local:

depuis la session su :
export DISPLAY=:0

24 Nov 2025, 00:00

Android A/B

ADB Sideload et TWRP install

Installer un .zip via adb sideload et “Install Zip” dans TWRP reviennent au même.

Un légère différence est que lors d’une installation via le fichier zip directement présent sur le tél, l’installeur connaît le nom du fichier, et peut dans certains cas modifier son comportement en fonction de ce nom. Par exemple, si le fichier magisk.zip est renommé uninstall.zip, alors l’installation de ce fichier entrainera la suppression de Magisk.

A/B

https://forum.xda-developers.com/t/how-to-manually-switch-the-active-slot.4499789/

Une grosse partie des partitions sont en double, dans une version “A” et une version “B”. Ce sont des slots.
Le tél a un slot actif au démarrage, et n’utilisera que les partitions de ce slot.

Ceci permet la mise à jour OTA vers le slot inactif alors que le tél tourne sur le slot actif. Au redémarrage, le slot actif est changé et le boot se fait sur la nouvelle version.
En cas d’échec de démarrage 3 fois de suite, le slot est rechangé.

En exception notable, la partition data n’a qu’un seul exemplaire ; pour cette raison, il n’est pas possible (sans factory reset) de passer d’un OS à un autre OS différent en utilisant les 2 slots.

Consulter le slot actif

fastboot getvar current-slot

adb shell
getprop ro.boot.slot_suffix

Dans TWRP, section “Reboot”.
Dans LOS recovery, affiché en haut.

Changer le slot actif

fastboot --set-active=b

Dans TWRP, section “Reboot”, bouton A ou B.

Pour les Sony, en mode flash, avec newflasher :
newflasher set_active:a

boot et recovery

Dans les devices A/B, le recovery n’est plus une partition à part entière, mais fait partie de la partition boot.
Pour cette raison, la commande fastboot flash recovery ./recovery.img ne fonctionne pas, car recovery n’est pas une cible valide.
De même, pour un recovery différent du recovery de l’OS installé (par exemple TWRP), la commande fastboot flash boot ./recovery.img fonctionne, mais va empêcher le système de boot car sa partition boot est cassée. Seul le recovery sera bootable.

Pour installer TWRP, il faut donc copier télécharger twrp-installer.zip puis l’installer via adb sideload. Ça peut être fait depuis le recovery de LineageOS, ou bien on peut booter temporairement TWRP depuis le mode fastboot, via
fastboot boot ./twrp.img
pour installer twrp-installer.zip depuis “Install” ou bien “ADB Sideload”. L’installer écrit TWRP sur la zone recovery des 2 slots “boot” sans toucher au reste du boot.

24 Nov 2025, 00:00

Android, VoLTE et VoWifi

Si la VoLTE est active, lorsqu’on passe un appel, l’indicateur reste en 4G/LTE ; sinon il repasse en 3G/H+.

Sous LineageOS, lorsque la VoLTE est active, un petit logo “HD” apparaît lors de l’appel.
Attention, en cas d’appel sortant, il n’apparaît qu’une fois la communication établie ; il est absent durant la tonalité.

*#*#4636#*#*
Infos sur le téléphone -> ... (haut-droite) -> État du service IMS

Ne PAS se fier à "Type de réseau vocal" dans les infos tél

Paramètres -> Réseau et Internet -> SIM -> choisir la SIM -> Type de réseau préféré
WCDMA = H+ , appels 3G
TDSCDMA = pas d’appel

24 Nov 2025, 00:00

Shadow Copies

Sous Win standard :
Panneau de conf -> Système -> propriétés avancés ->

Sous Win Server

Peut être dans clic-droit sur lecteur -> onglet “Clichés instantanés”
Mais si absent on peut retrouver la même fenêtre dans :

compmgmt.msc
Dossier partagés -> clic-droit -> Toutes les tâches -> Configurer les clichés instantanés

à activer au niveau d’un lecteur
Possible de modifier la planification

Ceci va rendre utile l’onglet “versions précédentes” des postes qui accèdent à des partages sur ce lecteur via le réseau

24 Nov 2025, 00:00

Veille moderne (modern standby)

Présentation

Les PC fonctionnent selon différents états d’alimentation (power states).
https://en.wikipedia.org/wiki/ACPI
https://learn.microsoft.com/en-us/windows/win32/power/system-power-states
Lorsqu’un PC est en cours de fonctionnement, il est à l’état S0.
Lorsqu’il est en veille classique, il est à l’état S3.
Lorsqu’il est en hibernation, il est à l’état S4.
Et lorsqu’il est complètement éteint, il est à l’état S5.

Lors d’une veille classique S3, seule la RAM est alimentée en électricité ; tous les autres composants sont éteints.
En ceci, la reprise d’activité est rapide, mais pas instantanée.

Dans le but d’améliorer ceci, la veille “S0 low-power idle” a été créée ; elle maintient plusieurs composants en état de fonctionnement, donc les cartes réseau et le processeur.
Elle est également appelée S0iX.

Typiquement, depuis un autre pc, il reste possible de pinger l’adresse IP d’un poste en veille moderne.

Le PC n’est pas censé faire d’actions gourmandes en énergie, mais de nombreux cas rapportent que le PC se met à chauffer fortement et vider la batterie lors de la veille moderne.

https://learn.microsoft.com/fr-fr/windows-hardware/design/device-experiences/modern-standby

Vérifier les modes de veille supportés

Le support des différents modes de veille dépend de l’UEFi, ainsi que de l’OS.
Les cartes-mères modernent doivent toutes supporter la veille moderne ; certaines supportent encore le mode S3, mais de moins en moins.

Sous Windows

powercfg -a

liste les états d’alimentation supportés par le système.
On peut y voir soit “En veille (S3)” soit “Veille (Mode faible consommation S0) connecté au réseau”.

Lorsque le mode S0 low-power est disponible, le mode S3 est nécessairement désactivé (“Cet état de veille est désactivé lorsque le mode faible consommation S0 est pris en charge”).

Désactiver le mode S0

https://www.makeuseof.com/windows-disable-modern-standby/

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"PlatformAoAcOverride"=dword:00000000

reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"PlatformAoAcOverride"=-

reg delete "HKLM\System\CurrentControlSet\Control\Power" /v PlatformAoAcOverride /f

18 Jul 2025, 00:00

Accès à des partages SMB depuis Windows 11 en tant qu'invité

La gestion des connexions SMB a changé depuis Windows 11 Pro 24H2.
Elle avait déjà changé pour les versions Education, Pro for workstations, Enterprise de Windows 10 et 11.
Elle reste similaire à avant pour Windows 11 Home.

En conséquence de ces changements, Windows exige maintenant que les connexions SMB soient signées, et la bascule sur un accès invité en cas de défaut de signature est désactivée.
Article chez MS

Dans mon cas, il s’agit de l’accès vers un serveur Samba, dont l’accès invité fonctionne correctement et nativement depuis un poste Windows 10.
Avec Windows 11 Pro 24H2, je suis confronté aux 2 problèmes : la signature de la connexion SMB, et l’accès en tant qu’invité.

À noter que la solution ne semble pas fonctionner pour des profils cloud, que pour les utilisateurs locaux du poste. Question de configuration ?

Accès SMB non signé

https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-signing

Par défaut, Windows 11 Pro (au moins 24H2) exige que les connexions SMB soient signées.
La fonctionnalité de signature ne fonctionne pas avec l’accès invité, il est donc indispensable de la désactiver (source chez MS).

Cela peut se vérifier par la commande Powershell
Get-SmbClientConfiguration | findstr req.*sign
qui doit nous indiquer la valeur de RequireSecuritySignature, probablement à True.

Le problème se manifeste par “Une erreur étendue s’est produite” (si accès depuis la fenêtre “Exécuter”) ou “Windows ne peut pas accéder à my-srv” (si accès depuis la barre d’adresse de l’explorateur).

Pour ceci, j’ai 3 possibilités : le registre, les stratégies locales, ou Powershell.
Ces 3 possibilités sont équivalentes : l’activation (ou désactivation) par une méthode se répercute de manière visible sur les autres méthodes (il faut toutefois fermer/rouvrir les stratégies locales pour actualiser).

Registre :
HKLM\SYSTEM\CurrectControlSet\Services\LanmanWorkstation\Parameters et définir la valeur DWORD
RequireSecuritySignature
à 0

Stratégies locales :
gpedit.msc
Config ordi -> Paramètres Windows -> Paramètres de sécurité -> Stratégies locales -> Options de sécurité
Client réseau Microsoft : communications signées numériquement (toujours)

Powershell :
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force

Connexion en tant qu’invité

Sources pour cette partie :

https://memo.raphaelguetta.fr/post/server-2019-access-guest-share/
https://learn.microsoft.com/en-us/windows-server/storage/file-server/enable-insecure-guest-logons-smb2-and-smb3
https://forum.qnap.com/viewtopic.php?t=175771

Une fois la connexion non-signée autorisée, lorsque je cherche à me connecter à mon serveur, je suis accueilli par une invite d’authentification, sans possibilité de me connecter en invité (alors que mon serveur l’accepte). Ceci car l’accès à des partages sans authentification est désactivé par défaut.

On peut vérifier en lançant la commande Powershell
Get-SmbClientConfiguration | findstr /I enablei
qui nous retourne la valeur de EnableInsecureGuestLogons, probablement False.

Comme pour les signatures, on peut contrôler ce paramètre par le registre, Powershell, ou les stratégies locales.
La stratégie locale a toutefois priorité ! Si elle est est configurée (activée ou désactivée), alors la valeur de l’entrée de registre n’aura aucun impact.
En ce cas, le résultat de Get-SmbClientConfiguration affichera la configuration effective, indépendamment de la valeur de registre.
Set-SmbClientConfiguration continuera de modifier la valeur de registre, mais n’aura pas d’impact sur la stratégie locale.

Registre/Powershell

On peut au choix ouvrir l’éditeur de registre, ouvrir la clé
HKLM\SYSTEM\CurrectControlSet\Services\LanmanWorkstation\Parameters
et ajouter/éditer la valeur DWORD AllowInsecureGuestAuth en la passant à 1.
Il est également possible de lancer la commande Powershell
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
qui aura pour résultat de créer/modifier cette même valeur registre.

Stratégies locales

gpedit.msc
Configuration ordinateur -> Modèles d'administration -> Réseau -> Station de travail LANMAN
Activer les ouvertures de session invité non sécurisées -> Activé

18 Jul 2025, 00:00

RDP sur un poste avec un compte Microsoft

Poste joint à AzureAD

Le compte est de la forme nom.prenom@domain.com.
Un whoami sur le poste cible renvoie azuread\nomprenom .

Si le paramètre NLA est activé, seul un poste Windows pourra y accéder ; freerdp ne semble pas gérer l’authenfication Kerberos pour le moment ? Voir cette issue.
Pour se connecter depuis Windows, lancer mstsc.exe, aller dans l’onglet Avancé puis Cocher “Utiliser un compte web pour vous connecter à l’ordinateur distant”. On peut laisser le mot de passe vide.
Une fenêtre de connexion web va s’ouvrir.
La connexion reste ensuite établie, et ne demande plus le mot de passe.

On peut également désactiver NLA (sur le poste cible, paramètres avancés du système -> Utilisation à distance).
En ce cas on peut se connecter depuis FreeRDP avec
xfreerdp /v:10.0.10.100 /d:AzureAD /u:nomprenom /p:mypassword /sec:tls
ou encore
xfreerdp /v:10.0.10.100 /u:"AzureAD\nomprenom" /p:mypassword /sec:tls
ou encore
xfreerdp /v:10.0.10.100 /u:AzureAD\\nomprenom /p:mypassword /sec:tls

Sauvegarde des credentials sur les postes qui y accèdent ? Semble se faire tout seul sur un compte local qui accède à un compte AzureAD ?

Compte perso ?

“MicrosoftAccount\nomprenom” ??