19 Jan 2025, 00:00

Synology

Installer utilitaires CLI

Centre de paquets -> Paramètres -> Sources de paquets
Ajouter une entrée, choisir un nom, et ajouter :
https://packages.synocommunity.com/
comme Emplacement.

L’actualisation devrait se faire tout seul, et on peut alors chercher synocli .
On a notamment les “Disk Tools” qui fournissent entre autres ncdu, et les “File Tools” qui fournissent entre autres nano.

SSH et dossier home

Le SSH s’active dans
Panneau de configuration -> Terminal & SNMP

Si on veut pouvoir y accéder via SFTP, il faut l’activer dans
Panneau de conf -> Services de fichiers -> FTP -> SFTP

Enfin, si on veut pouvoir se connecter via clé SSH, il faut activer les dossiers homes. pour ceci :
Panneau de conf -> Utilisateurs et groupes -> Avancé -> Accueil utilisateur

Synchronisation du dossier partagé

Pour une synchronisation unidirectionnelle d’un Syno source vers un Syno destination.
Fonctionne par dossier partagé.
Lance en rsync sous-jacent, avec l’option --delete .

Sur le Syno destination, il faut aller dans
Panneau de conf -> Services de fichiers -> rsync
et activer le service rsync.

Sur le Syno source, il faut aller dans
Panneau de conf -> Services de fichiers -> Avancé
et trouver “Synchronisation du dossier partagé”.
Clic sur “Liste des tâches” et ajouter une tâche (tâche = transfert sortant).

Sur le Syno cible, dans le même menu, on voit l’état du serveur, et on a la possibilité de gérer la “Liste des connexions”, c’est à dire les transferts entrants.

Lorsque la tâche est lancée, la ligne de commande lancée est de ce genre :

/usr/bin/rsync --timeout=600 --verbose --progress --no-h -rlpt -go -H -W --one-file-system --syno-auth --syno-acl --syno-pseudo-root --numeric-ids --exclude-from=/tmp/EXCLUDE  /volume1/MONPARTAGE/ --rsync-path=rsync -e "/usr/bin/ssh -p 11122 -oNumberOfPasswordPrompts=1 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oServerAliveInterval=10 -oServerAliveCountMax=60" -s raphael@10.0.10.89::Public/ --exclude=/*/#recycle/

et le fichier exclude contient ça :

/#recycle/***
/#snapshot/***
/@eaDir/SYNO@.fileindexdb/***
/@eaDir/SYNO@file_index_queue
/@eaDir/SYNO@file_index_queue.tmp
/@eaDir/SYNO@.fileindexdb@SynoEAStream
/@eaDir/@dedupedb/***

Types de synchro

Depuis le Syno source, si on va dans la section “Liste des tâches”, il y a un bouton pour “Synchroniser maintenant” et un bouton pour “Synchro complète”.

“Synchro maintenant” va faire une synchro très rapide, qui ne fait que copier les fichiers nouveaux/modifiés vers la destination. Pour ~ 20To de données en ~ 4 millions de fichiers, qui a déjà été complètement synchronisé 1h avant, cela met 2-3 minutes. Les fichiers de la destination absents de la source ne sont PAS supprimés.
C’est cette synchro qui est faite par la planification.

“Synchronisation complète” va mettre + de temps (environ 40 minutes pour le même volume de données) mais va créer un miroir complet des données, incluant la suppression des fichiers/dossiers de la destination qui sont absents de la source.

Attention, lorsqu’on fait une syncho complète, les permissions sont copiées également !

Permissions

Lorsque la synchro de dossier partagé est activée, les permissions avancées sont activées sur les partages de la destination ; si on veut que les utilisateurs puissent y acccéder, il faut les ajuster en conséquence (ou les désactiver).
Ça se règle dans le Panneau de config -> Dossiers partagés -> Modifier -> Permissions avancées

Synology Drive Server

Permet la syncho bidirectionnelle entre 2 Syno.

Hyperbackup

Restauration

La restauration d’un dossier partagé se fait en intégralité, sans tenir compte des données pré-existantes.

Lorsqu’on restaure, le contenu existant n’est pas effacé ; il faut d’abord supprimer/vider le partage de réception avant de restaurer Si le partage n’existe pas, il est automatiquement créé.

Spécificités Btrfs

Snapshots

Si le système de fichiers d’un dossier partagé est btrfs, on peut installer le paquet “Snapshot Replication”.
Celui-ci permet de gérer les instantanés. L’assistant est assez intuitif.

Pour un dossier partagé donné, si on coche la case “Rendre visible” (onglet Avancé), on peut accéder aux instantanés dans le dossier #snapshots à la racine du dossier partagé.
Ceci permet également d’activer la fonctionnalité des “Versions précédentes” dans l’explorateur Windows.

Si on veut analyser l’espace utilisé sur le dossier partagé avec ncdu, il faut penser à exclure ce dossier :
ncdu /volume1/MONPARTAGE --exclude "#snapshot*"

Réplication

Permet de dupliquer un dossier partagé vers un 2e NAS, par les commandes btrfs send et btrfs receive.
Si cette fonctionnalité est activée, un snapshot est créé à chaque réplication.

Par défaut, seul l’instantané généré lors de la réplication est répliqué.
Il est toutefois possible d’envoyer en + également les instantanés locaux. C’est une option disponible lors de l’assistant, ou en modifiant la tâche de réplication (onglet Avancé). Elle ne concerne que les instantanés créés après l’activation de l’option !

Sur la source, des snapshots des partages réseau sont dans /volume1/@sharesnap. C’est ce chemin qui est utilisé pour le send.
Sur la destination, la replication en cours est stockée dans le dossier /volume1/@sharesnap_receiving/.

La réplication se configure depuis le NAS source, et elle nécessite que les volumes sur les 2 NAS soient formatés en btrfs.
L’utilisateur choisi pour établir la connexion doit être membre du groupe “administrators” sur la destination.

Quand un partage sur la destination est paramétré pour recevoir des instantanés, on ne peut plus lui configurer des instantanés locaux.

Dans les paramètres de l’app Snapshot Replication, on peut modifier le nombre de tâches en parallèle ; par défaut c’est 1 seule.
Ainsi, même si des réplications sont planifiées au même moment, il n’y aura pas de parallélisation des accès disques, afin de conserver des performances optimales.

Nettoyage de l’espace

Pour que l’espace soit réellement récupéré lors de la suppression d’un snapshot, on peut activer le nettoyage des données. Pour ceci :
Gestionnaire de stockage -> Stockage -> bouton “Planifier le nettoyage des données”

On peut choisir des périodes sur lesquelles ce nettoyage est mis en pause.

Divers

restauration des utilisateurs depuis une sauvegarde (.dss) lorsqu’ils existent déjà sur la cible ?
-> les passwords des utilisateurs existants ne semblent pas remplacés par les éléments de la sauvegarde

Synoacl

synoacltool -add /volume2/backups/latest/LOGICIELS/ everyone:*:deny:-w-pdD-A-W-Co:fd–

find /volume2/backups/history/xxx/$share/* -type d -exec synoacltool -set-archive “{}” is_inherit,is_support_ACL ;

14 Mar 2021, 00:00

Vrac sur LDAP / Active Directory

Généralités

DC : Domain Component (ce qui définit le domaine lui-même) OU : Organisation Unit (une organisation à l’intérieur du domaine, décidée par le service informatique ; non obligatoire) CN : Common Name (le nom courant d’un objet, par exemple “myUser”) DN : Distinguished Name (+- un chemin absolu, qui identifie l’objet de manière unique dans le répertoire ; comprend forcément des références aux DC et au CN, et éventuellement aux OU)

Exemple de DN : CN=OpenVPN,OU=OpenVPN,OU=IT,DC=paris,DC=myCompany,DC=com
Il s’agit du nom courant “OpenVPN” (un utilisateur), situé dans l’OU “OpenVPN”, elle-même située dans l’OU “IT”, elle-même située dans le domaine “paris.mycompany.com”

On peut obtenir le DN de n’importe quel objet dans Utilisateurs et ordinateurs Active Directory en faisant un clic-droit sur l’objet -> Éditeur d'attributs, puis en cherchant l’attribut distinguishedName (taper dist au clavier devrait amener dessus).

Recherche dans l’Active Directory depuis Linux

On peut utiliser le logiciel ldapsearch, disponible dans le paquet ldap-utils.

sudo apt install ldap-utils

On utilisera les flags suivants :

-H pour spécifier l'annuaire ldap (ou le serveur AD)
-x pour une authentification simple
-W pour demander le password
-D pour spécifier l'utilisateur utilisé pour se connecter auprès de l'AD ; ce peut être l'adresse mail (user@contoso.com) ou le DN de l'objet
-b pour définir le chemin de base de la recherche ; par exemple DC=paris,DC=myCompany,DC=com
-LLL pour supprimer les commentaires et la version de LDAP de l'affichage des résultats

On peut ensuite définir un ou plusieurs filtres pour sélectionner les objets désirés ; par exemple (sAMAccountName=Administrateur)" pour sélectionner l’objet dont le nom de compte est Administrateur ; on peut passer plusieurs filtres, avec la syntaxe suivante : (&(sAMAccountName=Administrateur)(memberOf=CN=myGroup,OU=Groups,OU=IT,DC=paris,DC=myCompany,DC=com)

Enfin, on peut choisir un attribut à afficher, pour ne récupérer que ce champ dans la liste des résultats. Par exemple "name" pour récupérer le nom du compte.

Ceci nous donne la syntaxe suivante pour rechercher le nom des membres du groupe

ldapsearch -H ldap://192.168.10.101 -x -W -D “CN=OpenVPN,OU=OpenVPN,OU=VCI,DC=boulogne,DC=escda,DC=viseoci,DC=fr” -b “DC=boulogne,DC=escda,DC=viseoci,DC=fr” “(&(memberOf=CN=Utilisateurs du VPN,OU=Groupes,OU=VCI,DC=boulogne,DC=escda,DC=viseoci,DC=fr))” “name”