FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Comment configurer l’administration à distance PowerShell via SSH ?

28 juillet 2022 à 16:00

I. Présentation

Dans ce tutoriel, nous allons apprendre à établir une connexion PowerShell distante au travers du protocole SSH, entre deux machines sous Windows. PowerShell étant multi plateforme comme SSH, on peut imaginer appliquer cette configuration entre deux machines Linux, entre une machine Linux et une machine Windows, mais aussi avec macOS. Dans un document publié récemment, l'agence américaine NSA recommande l'utilisation du SSH pour l'administration à distance avec PowerShell, plutôt que d'utiliser WinRM. Le fait d'utiliser SSH permet d'utiliser l'authentification par clé et le support de différents systèmes, contrairement à WinRM qui nécessite la mise en place d'un certificat pour passer les connexions en HTTPS.

Je vais vous expliquer comment installer le serveur SSH, le client SSH, mais aussi comment configurer le serveur SSH pour faire du PowerShell SSH remoting. Nous verrons l'authentification par mot de passe, puis l'authentification par clé. Mon serveur SSH est la machine SRV-ADDS-01 sous Windows Server 2019 tandis que le client SSH est SRV-APPS sous Windows Server 2022 (mais il pourrait être sur une autre version, un autre système). Il est à noter que l'administration avec PowerShell au travers de SSH est une fonctionnalité disponible depuis PowerShell 7. Vous devez donc installer la bonne version de PowerShell, côté client et côté serveur, avant toute chose.

Précédemment, j'ai mis en ligne deux articles (et vidéos) au sujet de l'utilisation du SSH sur Windows :

II. Préparer le serveur SSH sur Windows

Sur le serveur SSH, je commence par installer OpenSSH Server grâce à cette commande PowerShell à exécuter en tant qu'administrateur :

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Une fois que c'est fait, il faut démarrer le service :

Start-Service sshd

Puis, on configure le service pour qu'il démarre automatiquement :

Set-Service -Name sshd -StartupType "Automatic"

Le fait de lancer le service va permettre de générer la configuration de base de SSH et de mettre en ligne le serveur SSH. Le fichier de configuration "sshd_config" est situé dans "C:\ProgramData\ssh" : nous allons le modifier.

cd c:\ProgramData\ssh
notepad .\sshd_config

Grâce au Bloc-notes de Windows, on peut modifier la configuration du serveur SSH. Pour le moment, autorisez la connexion par mot de passe en retirant le caractère "#" en début de ligne, car l'option est actuellement commentée.

PasswordAuthentication yes

Nous devons ajouter la prise en charge de PowerShell en l'intégrant en tant que sous-système, sinon il n'y a que quelques commandes qui vont fonctionner (non PowerShell). Vous devez ajouter cette nouvelle ligne à la suite de ces deux lignes :

# override default of no subsystems
Subsystem sftp sftp-server.exe

La ligne ci-dessous est celle que vous devez ajouter à votre fichier de configuration SSH. Si vous n'avez pas installé PowerShell dans son emplacement par défaut, il faudra adapter le chemin. Comme le précise Microsoft dans sa documentation, il faut utiliser un nom abrégé au format 8.3 puisque le nom contient des espaces.

Subsystem powershell c:/progra~1/powershell/7/pwsh.exe -sshs -NoLogo

Voilà, le fichier de configuration est prêt pour le moment. Libre à vous de le personnaliser un peu plus, pour changer le port d'écoute de SSH par exemple (attention à la règle de pare-feu Windows). Pour que la modification soit effective, il faut redémarrer le service SSH :

Restart-Service sshd

Maintenant, passons à la machine qui jouera le rôle de client SSH.

III. Préparer le client SSH sur Windows

Là encore, une commande PowerShell exécutée avec les droits administrateur permet d'installer le client OpenSSH :

Add-WindowsCapability -Online -Name OpenSSH.Client

Une fois que le client OpenSSH est installé, on peut utiliser la commande "ssh" pour se connecter sur un hôte distant, mais aussi New-PSSession et Enter-PSSession pour utiliser SSH au travers de PowerShell. Sur Windows 10 et Windows 11, le client SSH est préinstallé.

IV. Connexion PowerShell distante via SSH

Avec la commande "New-PSSession", je vais initier une session SSH vers mon serveur SRV-ADDS-01 en prenant un compte de mon domaine Active Directory. L'état de cette session sera stocké dans la variable $Session que l'on va pouvoir réutiliser.

$Session = New-PSSession -HostName SRV-ADDS-01 -UserName IT-Connect\admin.fb

Pour la première fois, il faut indiquer le mot de passe du compte, mais aussi accepter la connexion. Une fois que c'est fait, si l'on regarde le contenu de la variable $Session, on peut clairement voir que cette connexion PowerShell s'appuie sur le protocole SSH !

$Session

Pour se connecter dans cette session et administrer le serveur SRV-ADDS-01, on utilise "Enter-PSSession" et on appelle la variable $Session. À partir de là, le prompt change puisque l'on se retrouve connecté au serveur distant.

Enter-PSSession -Session $Session

Pour revenir sur l'hôte local :

exit

Plutôt que de se connecter à la session distante PowerShell, on peut simplement exécuter une commande PowerShell (ou un petit bloc de code) par l'intermédiaire du cmdlet Invoke-Command. Voici un exemple pour exécuter la commande "Get-Service sshd" sur l'hôte SRV-ADDS-01.

Invoke-Command -Session $Session -ScriptBlock { Get-Service sshd }

Pour terminer cet article, nous allons voir comment établir une connexion avec une clé publique.

V. Connexion SSH par clé publique sous Windows


A. Générer la paire de clés

Tout d'abord, sur le client SSH, c'est-à-dire le serveur SRV-APPS dans mon exemple, il faut configurer le service "ssh-agent". On va le paramétrer en démarrage automatique et le démarrer dans la foulée.

Set-Service -Name ssh-agent -StartupType Automatic
Start-Service ssh-agent

Ensuite, il faut que l'on génère un couple de clés pour l'authentification, afin d'obtenir une clé privée qui restera toujours en local sur le serveur et une clé publique qui sera copiée sur les serveurs sur lesquels on veut s'authentifier. L'utilitaire ssh-keygen va permettre de générer nos clés, et pendant ce processus, il faudra nommer les clés et définir une passphrase afin de protéger la clé privée.

cd ~\.ssh\
ssh-keygen -t ed25519

Une fois que c'est fait, toujours à partir du dossier "~\.ssh", on charge nos clés dans l'agent SSH :

ssh-add id_rsa

B. Envoyer la clé publique sur l'hôte distant

Maintenant, il faut que l'on interagisse avec le serveur cible, à savoir SRV-ADDS-01. Sur ce serveur, je veux me connecter avec le compte "[email protected]", donc il faut que j'envoie ma clé publique sur ce serveur. Première étape, créer un dossier ".ssh" dans le répertoire du profil de l'utilisateur sur le serveur distant :

ssh admin.fb@[email protected] mkdir C:\Users\admin.fb\.ssh\

Quand c'est fait, on va pouvoir envoyer le fichier "id_rsa.pub" correspondant à la clé publique vers le serveur SRV-ADDS-01, dans le fichier "authorized_keys". SSH se réfère à ce fichier pour obtenir la liste des clés publiques autorisées.

scp C:\users\Administrateur.IT-CONNECT\.ssh\id_rsa.pub admin.fb@[email protected]:C:\Users\admin.fb\.ssh\authorized_keys

Pour cette première phase, nous avons eu recourt à l'authentification par mot de passe, car bien sûr il faut s'authentifier lors de l'usage des commandes "ssh" et "scp".

À partir de là, il nous reste encore à affiner la configuration du serveur SSH (SRV-ADDS-01).

C. Activer l'authentification par clé publique

Sur le serveur SSH, nous devons modifier le fichier de configuration de SSH :

cd c:\ProgramData\ssh 
notepad .\sshd_config

Dans ce fichier, activez l'authentification par clé publique :

PubkeyAuthentication yes

Puis, profitez-en pour désactiver l'authentification par mot de passe :

PasswordAuthentication no

Enregistrez le fichier et redémarrez le service SSH pour prendre en compte les changements.

Restart-Service sshd

Le serveur SSH est configuré et sur ce même serveur, le profil du compte "admin.fb" contient le fichier "authorized_keys". Il ne reste plus qu'à tester.

D. Connexion par clé SSH avec New-PSSession

Reprenons le principe utilisé précédemment avec la commande New-PSSession et la variable $Session. Sauf que cette fois-ci, nous devons ajouter le paramètre "IdentityFilePath" afin de préciser le chemin vers la clé (même si SSH peut trouver la clé comme un grand si elle est dans le répertoire par défaut). On précise aussi le nom de l'utilisateur pour que les deux correspondent (le bon fichier "authorized_keys" doit être lu).

Ce qui donne :

$Session = New-PSSession -HostName SRV-ADDS-01 -UserName IT-Connect\admin.fb -IdentityFilePath .\id_rsa

Grâce à cette nouvelle configuration, la connexion est établie sans même que l'on ait besoin de saisir le mot de passe du compte utilisateur ! La connexion est sécurisée puisque sans la clé privée, il est impossible de s'authentifier. Si l'on essaie de s'authentifier avec un autre compte non autorisé, un message d'erreur s'affiche :

New-PSSession: [srv-adds-01] The background process reported an error with the following message: The SSH client session has ended with error message: [email protected]@srv-adds-01: Permission denied (publickey,keyboard-interactive)..

Voilà, nous venons de voir comment utiliser une connexion SSH pour l'administration à distance PowerShell ! Pour en savoir plus sur la gestion des clés, vous pouvez lire cette documentation de Microsoft : Gestion des clés SSH.

The post Comment configurer l’administration à distance PowerShell via SSH ? first appeared on IT-Connect.

Comment ajouter ou supprimer le marqueur « Mark-of-the-Web » sur un fichier ?

20 juillet 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons apprendre à manipuler le marqueur "Mark-of-the-Web" sur un fichier afin de pouvoir indiquer qu'il provient d'Internet ou non. L'intérêt est de pouvoir prendre un fichier local, lui attribuer le marqueur MOTW pour faire comme s'il venait d'Internet, et ensuite tester une fonctionnalité de sécurité (par exemple, le blocage des macros Office).

Windows s'appuie sur une fonctionnalité nommée "Mark-of-the-Web" (MOTW ou "Marque du Web" en français), pour déterminer si un fichier provient d'Internet ou non grâce à un identifiant de zone. Quand un fichier provient d'Internet, cet attribut est associé au fichier, ce qui permet aux applications qui prennent en charge ce marqueur de l'exploiter et, éventuellement, d'adapter leur comportement.

Sur son site, Microsoft donne la liste des zones prises en charge avec le nom et l'ID correspondant à chaque fois. Ce qui donne :

Valeur (ID)  Setting
------       ------------------------
0            Mon ordinateur
1            Zone intranet locale
2            Zone des sites de confiances
3            Zone Internet
4            Zone des sites restreints

Pour appliquer le marqueur Mark-of-the-Web sur un fichier, il faut lui attribuer la zone Internet, c'est-à-dire la zone avec l'ID "3".

II. Ajouter "Mark-of-the-Web" à un fichier

Par l'intermédiaire de PowerShell et du cmdlet Set-Content, nous allons pouvoir modifier les propriétés du fichier. En l'occurrence, c'est l'attribut "Zone.Identifier" qui va être modifié pour basculer le fichier sur la zone "3". Ainsi, si l'on veut ajouter le marqueur sur un fichier nommé "TestMacro.xlsm" qui se trouve dans le répertoire courant, on utilise :

Set-Content -Path ".\TestMacro.xlsm" -Stream Zone.Identifier -Value '[ZoneTransfer]','ZoneId=3'

Ensuite, si l'on regarde dans les propriétés du fichier, on peut voir la présence de la section "Sécurité" qui atteste de la présence du marqueur. Sur un fichier local, cette section n'est pas présente. Mon fichier créé en local est désormais considéré comme en provenance d'Internet !

Ajouter Mark-of-the-Web sur un fichier avec PowerShell

III. Supprimer "Mark-of-the-Web" d'un fichier

Pour supprimer le marqueur MOTW, il est possible de cocher l'option "Débloquer" dans les propriétés du fichier et de valider. Pour continuer sur notre lancée et le faire en PowerShell, il suffit d'utiliser un cmdlet adapté : Unblock-File. Grâce à la présence de ce cmdlet, il n'est pas nécessaire de réutiliser Set-Content.

Ce cmdlet s'utilise très facilement, car il suffit de préciser le nom du fichier :

Unblock-File ".\TestMacro.xlsm"

Ensuite, si l'on regarde les propriétés du fichier, on voit bien que la section "Sécurité" n'apparaît plus.

Voilà, vous êtes désormais capable de gérer l'ajout et la suppression du marqueur "Mark-of-the-Web" sur des fichiers, que ce soit un fichier Excel, un script PowerShell ou tout autre type de fichiers.

The post Comment ajouter ou supprimer le marqueur « Mark-of-the-Web » sur un fichier ? first appeared on IT-Connect.

Synoacltool : un outil pour gérer les ACL de son NAS Synology en ligne de commande

19 juillet 2022 à 10:00

I. Présentation

Sur les NAS Synology, il y a plusieurs outils disponibles à partir de la ligne de commande qui permettent d'effectuer des opérations au travers de scripts, plutôt que de passer par l'interface de gestion de DSM. Dans ce tutoriel, je vais vous présenter l'outil synoacltool qui est un outil en ligne de commande qui sert à gérer les permissions (ACL) sur les dossiers et fichiers, notamment pour définir les droits d'accès sur un dossier partagé sur le NAS.

Prérequis : vous devez disposer d'un accès SSH sur votre NAS Synology afin d'accéder à la ligne de commande. L'accès SSH peut être activé temporairement dans Panneau de configuration > Terminal & SNMP > Activer le service SSH. Si vous souhaitez laisser le service actif de façon permanente, pensez à changer le port d'écoute du service.

II. L'aide de synoacltool

Pour utiliser correctement l'outil synoacltool, il faut s'inspirer de l'aide accessible directement à partir de la ligne de commande. Après connexion en SSH sur le NAS, exécutez la commande suivante :

synoacltool -h

Voici l'aide complète :

Usage: synoacltool

SYNOPSIS
   synoacltool -h
   synoacltool -check PATH [ACL Perm]
   synoacltool -get PATH
   synoacltool -getace PATH
   synoacltool -get-perm PATH USERNAME
   synoacltool -add PATH [ACL Entry]
   synoacltool -replace PATH [ACL Entry Index] [ACL Entry]
   synoacltool -get-archive PATH
   synoacltool -set-archive PATH [ACL Archive Option]
   synoacltool -del-archive PATH [ACL Archive Option]
   synoacltool -del PATH [ACL Entry Index]
   synoacltool -del PATH
   synoacltool -copy PATH_SRC PATH_DST
   synoacltool -set-owner PATH [user|group] NAME
   synoacltool -set-eadir-acl PATH
   synoacltool -enforce-inherit PATH
   synoacltool [-stat|-cstat|-fstat|-lstat|-utime] PATH

   -h: show help
   -check: check acl permission of file
   -get: get syno acl of file
   -getace: get syno ACEs with uid/gid of file
   -get-perm: extract windows permission from acl or linux permission
   -add: add syno ace into file
   -replace: replace specified ace by index number
   -del: delete syno acl of file
   -get-archive: get ACL archive bit
   -set-archive: set ACL archive bit
   -del-archive: delete ACL archive bit
   -stat, -cstat, -lstat, -fstat: get stat/archive bit
   -utime: set current time into file
   -copy: copy ACL from source to destination, only works when ACL exists
   -set-eadir-acl: set ACL for EA dir
   -enforce-inherit: enforce ACL inheritance

OPTIONS
   ACL Entry Index: >= 0
   ACL Option: [inherit|single]
   ACL Archive Option: is_inherit,is_read_only,is_owner_group,has_ACL,is_support_ACL
   ACL Entry: [user|group|owner|everyone|authenticated_user|system]:name:[allow|deny]:permissions:inherit mode

   Example: user:root:allow:rwx-d---RWc--:fd--
   Example: owner:*:allow:rwx-d---RWc--:fd--

Fields
   name: user/group name
   ACL Perm: rwxpdDaARWcCo
      r: (r)ead data
      w: (w)rite data (create file)
      x: e(x)ecute
      p: a(p)pend data (create dir)
      d: (d)elete
      D: (D)elete child (only for dir)
      a: read (a)ttribute (For SMB read-only/hidden/archive/system)
      A: write (A)ttribute
      R: (R)ead xattr
      W: (W)rite xattr
      c: read a(c)l
      C: write a(c)l
      o: get (o)wner ship

    inherit mode: fdin
      f: (f)ile inherited
      d: (d)irectory inherited
      i: (i)nherit only
      n: (n)o propagate

Il faut s'inspirer de cette aide pour trouver les bonnes commandes, en fonction de ses attentes. Synology ne fournit pas d'aide supplémentaire sur l'utilisation de ce script. Pour ma part, je vais vous partager quelques exemples pour vous aider à l'utiliser, tout en sachant que l'on peut l'utiliser au travers d'un script Bash pour traiter des fichiers et dossiers par lot.

III. Exemples d'utilisation de synoacltool

A. Récupérer les ACL sur un fichier ou un dossier

Avant de chercher à modifier les ACL sur un fichier ou un dossier existant, voyons comment récupérer les ACL sur un fichier ou un dossier. Synoacltool dispose d'un paramètre nommé "-get" prévu à cet usage. Il suffit de préciser le chemin vers le fichier ou dossier, tout en sachant que vos données sont sous la racine "/volume1/".

synoacltool -get /volume1/DossierPourTests/MesDatas

La commande vous retournera un résultat semblable à celui-ci :

Synoacltool

Au-delà d'indiquer le nom du propriétaire de ce dossier, on peut voir la liste des permissions sur ce dossier.

[0] group:administrators:allow:rwxpdDaARWc--:fd-- (level:0)

Afin de vous aider à comprendre et décortiquer chaque ligne, voici quelques explications :

  • [0] : c'est le numéro d'index de l'ACL, une information importante, car pour supprimer une ACL via synoacltool, il faut préciser le numéro d'index
  • group : cette permission concerne un groupe, on peut aussi rencontrer "user" si l'autorisation est posée sur un utilisateur directement
  • administrators : nom du groupe (ou de l'utilisateur) concerné par cette ACL
  • allow : règle de type "autoriser", mais on peut rencontrer aussi "deny" pour refuser
  • rwxpdDaARWc-- : les détails de l'ACL, se référer à l'aide pour comprendre la signification de chaque lettre
  • fd-- : les détails sur l'héritage
  • (level:0) : puisque c'est le niveau 0, c'est que cette ACL est posée directement sur le dossier que l'on audit, si l'on a "level:1", "level:2", etc... Cela signifie que ce sont des droits hérités d'un dossier de niveau supérieur

B. Supprimer une ACL sur un dossier avec synoacltool

Pour supprimer une ACL sur un dossier ou un fichier, il faut préciser le chemin de l'élément et indiquer le numéro d'index de l'ACL à supprimer, sans oublier l'option "-del". Ainsi, pour supprimer l'ACL avec l'index 0 sur le dossier "/volume1/DossierPourTests/MesDatas/", il faut exécuter cette commande :

synoacltool -del /volume1/DossierPourTests/MesDatas/ 0

Dans certains cas, une erreur est retournée ("(synoacltool.c, 588)unknown error: [900]") mais la suppression de l'ACL est prise en charge malgré tout. Pour vérifier si vos modifications sont prises en charge ou pour comparer l'affichage de synoacltool avec vos permissions, n'hésitez pas à comparer l'affichage console avec l'affichage sur l'interface DSM (Propriétés > Permissions).

C. Ajouter une ACL sur un dossier avec synoacltool

Pour ajouter une permission sur un élément avec synoacltool, c'est l'option "-add" qui doit être utilisée. Plutôt que de chercher à trouver la bonne syntaxe, et bien que ce soit faisable, je vous recommande de poser l'autorisation une fois via l'interface de DSM, d'utiliser l'option "-get" pour lister les permissions afin de récupérer la valeur. Ensuite, il vous suffit d'utiliser la même syntaxe dans une commande synoacltool pour appliquer les mêmes autorisations.

Voici un exemple :

synoacltool -add /volume1/DossierPourTests/MesDatas/ user:it-connect:allow:rwxpdDaARWc--:fd--

Pour trouver la bonne valeur, j'ai simplement récupéré la valeur dans la console :

D. Supprimer les permissions héritées

Pour désactiver l'héritage sur un dossier et supprimer tous les droits pour repartir à blanc, dans l'optique de poser des nouveaux droits, il faut exécuter ces deux commandes sur l'élément cible :

synoacltool -set-archive /volume1/DossierPourTests/MesDatas/ has_ACL,is_support_ACL
synoacltool -del-archive /volume1/DossierPourTests/MesDatas/ is_inherit

Une fois ces deux commandes exécutées, il sera nécessaire de passer par DSM pour ajouter des droits ou utiliser directement synoacltool avec l'option "-add" évoquée précédemment.

E. Traitement avec une boucle et un script Bash

Nous allons voir qu'il est possible de traiter des données par lot, que ce soit pour ajouter, supprimer, modifier des droits, ou tout simplement lister les droits existants. Commençons par créer un script Bash sur un volume du NAS :

cd /volume1/homes/florian/
vi synoacltool-exemple.sh

Dans ce fichier, je vous invite à ajouter le contenu suivant :

#!/bin/bash
# Racine à inspecter
DossierSource="/volume1/DossierPourTests/"
# Répertoire cible
DossierFiltre="Photos"

# Process
for Dossier in $DossierSource
do
   find $Dossier -path "*/@eaDir" -prune -o -path "*/#recycle" -prune -o -type d -name $DossierFiltre -print | while read DossierATraiter
   do
     echo $DossierATraiter
     synoacltool -get $DossierATraiter
   done
done

Ce script va permettre de rechercher tous les dossiers avec le nom "Photos" (variable DossierFiltre) à partir de la racine "/volume1/DossierPourTests/" (variable DossierSource), de manière récursive, et à chaque fois que ce dossier est trouvé, on liste les ACL. On peut utiliser ce type de boucle pour traiter des dossiers par lot, et ici j'ai indiqué uniquement une règle "synoacltool" mais on pourrait ajouter plusieurs commandes pour réaliser plusieurs actions.

On enregistre le fichier avec "Echap" puis ":wq!" dans l'éditeur Vi et on ajoute les droits d'exécution sur le script :

chmod +x synoacltool-exemple.sh

Il ne reste plus qu'à exécuter le script :

./synoacltool-exemple.sh

On peut voir qu'à chaque fois qu'il a trouvé un dossier nommé "Photos", le script m'a listé les ACL de mon NAS :

Synoacltool exemple script

Autre script intéressant : GitHub

IV. Conclusion

Nous venons de voir comment utiliser synoacltool pour gérer les ACL de son NAS Synology à partir de la ligne de commande. Son utilisation est intéressante car on peut automatiser certaines tâches ou effectuer du traitement par lot, plutôt que de passer par l'interface de DSM.

The post Synoacltool : un outil pour gérer les ACL de son NAS Synology en ligne de commande first appeared on IT-Connect.

Linux et le manque d’inodes « No space left on device » : comment résoudre ce problème ?

15 juillet 2022 à 10:00

I. Présentation

Sur un serveur Linux, il n'est pas rare de croiser le message d'erreur "No space left on device", ce qui peut engendrer d'autres problèmes, notamment des services qui ne démarrent plus. Parfois, on peut être surpris de ce message d'erreur, car il reste bien de l'espace disque sur le volume : que se passe-t-il ?

Lorsqu'il n'y a plus d'espace disque sur un système Linux, le premier réflexe c'est d'utiliser la commande "df" pour voir l'état des différents volumes.

df -h

Si l'on voit qu'un volume est utilisé à 100%, alors on comprend l'apparition du message "No space left on device", mais si le résultat montre qu'il reste de la place sur le disque, on peut sembler un peu confus face à cette situation. Voici un exemple ci-dessous où il reste de la place sur le disque, et pourtant le message d'erreur apparaît.

La réponse se situe au niveau des inodes. En effet, sur un même volume, le nombre de fichiers est limité ! Ainsi, on peut saturer un volume avec un très grand nombre de petits fichiers sans pour autant saturer l'espace disque en lui-même.

II. Quelques mots sur les inodes

Sous Linux, chaque fichier est associé à un inode qui sert de descripteur pour ce fichier (métadonnées). Le nombre d'inodes, ou nœuds d'index en français, car inode c'est la contraction de "index" et "node", est limité sur un volume. Pour connaître la limite d'inodes, il faut analyser la configuration du serveur, car cela dépend de la taille du volume. La commande "df" est toujours notre alliée, sauf que l'on va utiliser l'option "-i" qui permet d'obtenir des informations sur les inodes plutôt que les blocs.

df -i

Ainsi, il est fort probable que vous trouviez une ligne avec un "100%". Par exemple :

Sys. de fichiers                   Inœuds   IUtil.   ILibre    IUti%   Monté sur
udev                               1014029  367      1013662   1%      /dev
tmpfs                              1018474  583      1017891   1%      /run
/dev/mapper/SRV--WWW--1--vg-root   6463488  6463488  0         100%     /

On peut voir que pour saturer une partition, il faut vraiment un très très grand nombre de fichiers : ici, plus de 6,4 millions de fichiers ! En mettant en place de la supervision sur les inodes, on peut recevoir une alerte et anticiper le problème avant d'arriver à saturation :

Un script qui s'emballe, une application non optimisée, etc.... Peuvent être la cause de cette erreur, et il faudra parvenir à l'identifier afin de supprimer des fichiers, car pour résoudre le problème, il est indispensable de supprimer des fichiers (sans parler de la possibilité d'étendre le volume). Dans le dernier cas de ce type que j'ai rencontré, c'est une mauvaise gestion des sessions PHP (qui s'accumulaient sans cesse) qui était à l'origine de ce problème.

III. Comment supprimer des fichiers ?

La suppression des fichiers est une opération simple réalisable à partir de la commande "rm". Cependant, puisqu'il n'y a plus d'inodes disponibles sur la machine et qu'il y a une quantité très importante de fichiers à supprimer, ce n'est pas si évident. La commande "rm" classique, à savoir :

rm /var/www/site/sessions_php/* -Rf

Ne fonctionnera pas, car il y a trop de fichiers à supprimer ! Elle va retourner l'erreur suivante :

-bash: /usr/bin/rm: Liste d'arguments trop longue

Dans ce cas, l'idéal c'est de se positionner dans le dossier qui contient tous les fichiers à supprimer (c'est important de se positionner dans le dossier !) :

cd /var/www/site/sessions_php

Puis, d'exécuter la commande suivante basée sur une recherche find pour rechercher et supprimer tous les fichiers sous cette racine :

find . -name '*' -type f -exec rm -f {} \;

Si cela retourne une erreur, il faut essayer d'ajuster le filtre pour créer des groupes de fichiers à supprimer afin d'y aller par pool de fichiers. Une fois cette opération effectuée, le serveur va retrouver son fonctionnement normal : n'oubliez pas de vérifier l'état du volume avec la commande vue précédemment.

The post Linux et le manque d’inodes « No space left on device » : comment résoudre ce problème ? first appeared on IT-Connect.

Linux : comment afficher les fichiers et dossiers cachés ?

11 juillet 2022 à 11:08

I. Présentation

Dans ce tutoriel, nous allons apprendre à afficher, ou lister si vous préférez, les fichiers et dossiers cachés sous Linux, en utilisant une commande que vous connaissez tous : la commande "ls". Par défaut, lorsque l'on utilise "ls" dans un Terminal sous Linux, les fichiers et dossiers cachés ne sont pas présents dans la liste des résultats. Néanmoins, c'est bien pratique d'avoir ces éléments dans la liste, car ils sont fréquents : les fichiers .htaccess dans le répertoire d'un site web ou le répertoire .git dans un projet Git sont deux exemples parmi tant d'autres.

Qu'est-ce qui différencie un fichier ou un dossier caché d'un élément visible ? C'est simple, c'est le "." au tout début du nom qui permet de masquer l'élément, que ce soit un dossier ou un fichier.

Au-delà de la commande "ls", nous allons aussi utiliser "grep" et "find" dans cet article. J'utilise une machine sous Debian 11, mais vous pouvez utiliser une autre distribution.

II. Lister les fichiers et dossiers cachés

La commande "ls" avec l'option "-a" permet d'indiquer "all", c'est-à-dire tous les éléments, y compris ceux qui sont masqués. Il est à noter que vous pouvez utiliser également l'option "-A".

ls -a

Si l'on regarde l'image ci-dessous, on voit la différence avec ou sans cette option. Le fichier ".htaccess" situé à la racine de mon répertoire "/var/www/html" est bien visible.

III. Lister uniquement les fichiers et dossiers cachés

La commande "ls" n'intègre pas d'option pour lister uniquement les éléments masqués. Néanmoins, on sait que tous les fichiers et dossiers masqués ont un nom qui commence par "." donc on peut exploiter cette information. En couplant l'utilisation de "ls" avec "grep", on peut affiner la sortie dans le Terminal.

ls /var/www/html/ -a | grep "^\."

Ou dans le répertoire courant :

ls -a | grep "^\."

A quoi correspond la valeur "^\." ? En fait, il s'agit d'une expression régulière où "^" permet d'indiquer le début de la valeur, le "\" permet de faire un échappement sur le ".", car c'est le caractère que l'on recherche. Autrement dit, cette expression régulière permet de filtrer pour récupérer les éléments dont le nom commence par un ".". Sans ce filtre qui recherche sur le début de la valeur, on aurait la liste de tous les fichiers et dossiers avec un "." dans le nom, peu importe la position dans la valeur.

On peut voir que ce filtre avec "grep" fonctionne bien :

Au-delà du fichier, il y a deux autres valeurs dans cette liste :

.
..

Le premier avec un seul point indique le dossier courant tandis que le second avec deux points indique le dossier parent.

L'inconvénient de cette méthode, c'est que la liste ne permet pas d'identifier facilement s'il s'agit d'un fichier ou d'un dossier, car il n'y a pas d'indicateur ni de code couleur. L'alternative consiste à utiliser la commande "ls" différemment, comme ceci :

ls -ld .*

Linux lister les fichiers et dossiers cachés

L'option "-l" permet d'avoir la liste des éléments tandis que l'option "-d" sert à avoir uniquement les noms des dossiers (au lieu de la liste du contenu). C'est important d'utiliser ces deux options conjointement dans cet exemple pour avoir le résultat attendu. Ainsi, dans la liste obtenue, on peut différencier les dossiers des fichiers grâce au code couleur, mais aussi avec la présence du caractère "d" en début de ligne quand il s'agit d'un dossier.

IV. Rechercher les fichiers et dossiers cachés avec récursivités

Pour partir à la recherche des fichiers et dossiers à partir d'un dossier racine, avec récursivité, la commande "find" est adaptée. On recherche les éléments et pour chaque occurrence, un "ls" est fait pour récupérer des informations sur l'élément. Voici la syntaxe à utiliser :

find /var/www/html/ -name ".*" -ls

Pour récupérer uniquement les fichiers cachés :

find /var/www/html/ -type f -name ".*" -ls

Pour récupérer uniquement les dossiers cachés :

find /var/www/html/ -type d -name ".*" -ls

Voilà, avec ces différentes commandes, vous êtes en mesure de rechercher les fichiers et dossiers cachés sous Linux !

The post Linux : comment afficher les fichiers et dossiers cachés ? first appeared on IT-Connect.

Fichier /etc/shadow : à quoi sert ce fichier sous Linux ?

4 juillet 2022 à 10:00

I. Présentation

Dans ce tutoriel, je vous propose de découvrir le fichier /etc/shadow qui est présent sur les différentes distributions Linux, notamment Debian, Ubuntu, Kali Linux, Rocky Linux, etc.... Et j'en passe. Ce fichier indispensable au bon fonctionnement du système est associé à l'authentification, tout comme le fichier "/etc/passwd". Comme de nombreux fichiers sous Linux, il se présente sous la forme d'un fichier texte où chaque ligne contient différentes valeurs, en rapport avec les mots de passe des utilisateurs du système. Partons à la découverte de ce fichier très intéressant...

II. Fichier /etc/shadow : comment interpréter chaque ligne ?

Tout d'abord, il faut savoir que ce fichier a l'utilisateur "root" et le groupe "shadow" comme propriétaires et qu'il dispose des permissions "640". Sur votre système, vous pouvez vérifier que c'est bien le cas avec cette commande :

ls -l /etc/shadow

Ces droits montrent que c'est un fichier sensible. Dans ce fichier, vous allez retrouver une ligne par utilisateur, c'est-à-dire que chaque utilisateur du système aura le droit à une ligne dans ce fichier. En-tête de liste, nous retrouvons l'utilisateur "root" correspondant au super-utilisateur de ce système. À la suite, il y a quelques utilisateurs liés au système et ensuite viennent s'ajouter les comptes de vos utilisateurs et les comptes liés à certains paquets. Par exemple, nous pouvons avoir une ligne pour le compte "www-data" créé par Apache lors de l'installation de ce paquet, et une ligne pour l'utilisateur "flo" correspondant à mon utilisateur créé lors de l'installation du système. Quand un utilisateur est créé avec la commande "useradd" (ou "adduser"), une ligne est ajoutée dans ce fichier. Pour visualiser le contenu de ce fichier, vous devez être connecté en "root" ou bénéficier d'une délégation via sudo :

sudo cat /etc/shadow

Ensuite, pour chaque ligne, il y a un total de neuf champs, toujours dans le même ordre et chaque avec une signification particulière. Chaque champ est séparé par le symbole ":" afin de faciliter la lecture, et quand il y a deux ":" qui s'enchaînent, cela veut dire que la valeur est vide. On obtient l'écriture suivante :

<champ 1>:<champ 2>:<champ 3>:<champ 4>:<champ 5>:<champ 6>:<champ 7>:<champ 8>:<champ 9>

La dernière ligne ne termine pas par ":". C'est bien beau ces différentes valeurs, mais ça correspond à quoi ? Voici un résumé, dans l'ordre, du champ 1 au champ 9.

- Identifiant de l'utilisateur : il s'agit de l'identifiant du compte utilisateur, indiqué lors de la création. Autrement dit, c'est l'identifiant que vous utilisez pour vous connecter avec ce compte.

- Mot de passe chiffré : le mot de passe de ce compte utilisateur, chiffré avec un algorithme (plusieurs possibilités), en respectant le format "$type$salt$hash", c'est-à-dire un numéro correspondant à l'algorithme utilisé, les informations de salage et le hash du mot de passe. Ce champ peut aussi avoir un astérisque ou un point d'exclamation comme valeur, dans ce cas, l'authentification par mot de passe est refusée par ce compte (il doit utiliser une autre méthode). - Nombre de jours depuis le dernier changement de mot de passe : il s'agit du nombre de jours écoulés depuis la dernière modification de mots de passe, en prenant comme date de référence le 1er janvier 1970. Si la valeur est à 0, cela veut dire que l'utilisateur devra changer son mot de passe lors de la prochaine connexion. Une valeur vide signifie que les fonctions de gestion de l'ancienneté du mot de passe sont désactivées.

- Âge minimum du mot de passe : combien de jours l'utilisateur doit-il garder son mot de passe avant de pouvoir le changer ? Si vous avez un "0", alors l'utilisateur peut le changer dès qu'il le souhaite.

- Âge maximum du mot de passe : combien de jours le mot de passe est-il valide ? Ensuite, l'utilisateur doit changer le mot de passe à la prochaine connexion. Par défaut, cette valeur est fixée à 99999, comme vous pourrez sûrement le constater.

- Avertissement : combien de jours avant que le mot de passe expire faut-il prévenir l'utilisateur qu'il va devoir changer son mot de passe ? - Période d'inactivité : une fois le mot de passe expiré, combien de jours faut-il compter avant que le compte soit désactivé si le mot de passe n'est pas changé dans les temps ? Cette option est vide la plupart du temps.

- Date d'expiration : quand le compte a-t-il été désactivé ? Cette valeur est exprimée en nombre de jours, à partir du 1er janvier 1970.

- Pas encore utilisé : il n'y a pas de valeur après le dernier ":" car ce dernier n'est champ n'a pas d'utilité à ce jour, mais cela viendra peut-être...

III. Exemple d'un fichier /etc/shadow

Regardons dans la pratique, ce que peut donner un fichier /etc/shadow avec cet exemple sur une machine Debian :

Fichier /etc/shadow sous Linux

Par exemple, voici la ligne de l'utilisateur "it-connect" :

it-connect:$y$j9T$NL8Y.................:18960:0:99999:7:::

Cette ligne me permet de savoir qu'il y a un utilisateur avec l'identifiant "it-connect", qu'il peut changer son mot de passe dès qu'il le souhaite (0), et qu'il peut garder un mot de passe pendant 99999 jours sans le changer. La période d'avertissement est configurée sur les 7 derniers jours avant que le mot de passe expire, et les autres valeurs sont vides.

Je sais aussi, en lisant cette ligne, que cela l'utilisateur a changé son mot de passe pour la dernière fois le lundi 29 novembre 2021. Comment ? Et bien, si l'on prend le 1er janvier 1970 comme référence et que l'on ajoute 18960 jours, on obtient cette date. On peut faire le calcul de différentes façons... Par exemple avec PowerShell :

$date = Get-Date -Year 1970 -Month 01 -Day 01 -Hour 00 -Minute 00
$date.AddDays(18960)

Il y aussi une autre manière de faire, via la commande "passwd" :

passwd -S it-connect

Désormais, si je modifie le mot de passe de cet utilisateur avec passwd :

passwd it-connect

Je peux voir ensuite que dans le fichier /etc/shadow, le nombre de jour est passé de 18960 à 19156, et le mot de passe chiffré est différent également. La valeur utilise toujours le 01/01/1970 comme point de référence.

it-connect:$y$j9T$zJHz.................:19156:0:99999:7:::

Cet exemple montre que l'on peut interagir avec le fichier "/etc/shadow" au travers de la commande passwd lorsque l'on change un mot de passe. Par ailleurs, lorsque l'on utilise la commande "chage" on va jouer sur les paramètres concernant l'âge du mot de passe. Tout cela pour dire que c'est déconseillé de modifier manuellement ce fichier, mais qu'il vaut mieux utiliser les différentes commandes adéquates.

Désormais, vous en savez plus sur le fichier /etc/shadow, un incontournable sur les machines Linux, que ce soit un serveur ou un poste de travail.

The post Fichier /etc/shadow : à quoi sert ce fichier sous Linux ? first appeared on IT-Connect.

VMware ESXi 7 : autoriser le copier-coller entre une VM et un PC

29 juin 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment configurer une VM sous VMware ESXi 7 de manière à autoriser le copier-coller entre la VM et votre PC, car cette fonctionnalité est désactivée par défaut. Grâce la modification que nous allons apporter, il sera possible d'effectuer un copier-coller de texte (le copier-coller de fichiers ne fonctionne pas) à partir de votre ordinateur local vers une VM, en passant par la console VMRC. Cela n'active pas cette fonctionnalité lorsque l'on utilise la console via l'interface Web de VMware ESXi.

Il y a deux façons de faire pour activer le partage du presse-papier :

  • Activer la fonctionnalité sur une ou plusieurs VM en configurant chaque VM
  • Activer la fonctionnalité sur toutes les VMs en configurant ESXi directement

Note : cette méthode fonctionne aussi pour les machines virtuelles sous Linux que sous Windows.

II. Activer le copier-coller pour une VM

Tout d'abord, vous devez éteindre la machine virtuelle. Ensuite, dans l'inventaire de VMware ESXi, effectuez un clic droit sur la VM puis cliquez sur "Modifier les paramètres". Dans la fenêtre qui s'ouvre, cliquez sur le bouton "Options VM".

Développez la section "Avancé" afin de trouver le bouton "Modifier la configuration". Cela va permettre d'accéder aux paramètres avancés où l'on pourra déclarer nos propres paramètres.

Cliquez sur le bouton "Ajouter un paramètre" pour ajouter une ligne supplémentaire qu'il va falloir personnaliser.

Il y a deux paramètres à ajouter, chacun avec la valeur "FALSE" et voici les deux noms de paramètres à utiliser (KB VMware) :

  • isolation.tools.copy.disable
  • isolation.tools.paste.disable

Ce qui donne le résultat suivant :

Une fois que c'est fait, cliquez sur "OK" pour valider. Vous n'avez plus qu'à démarrer la VM, à ouvrir la console VMRC et à tester le copier-coller, car il y a désormais un partage du presse-papier ! Et surtout, à en profiter ! 🙂

III. Activer le copier-coller sur l'ESXi

Pour activer cette fonctionnalité sur toutes les machines virtuelles sans devoir le faire sur chaque VM, il faut éditer la configuration du serveur VMware ESXi. De ce fait, un accès SSH est nécessaire pour se connecter à distance, en ligne de commande, sur l'hyperviseur.

Pour activer SSH, effectuez un clic droit sur "Hôte" et sous "Services" cliquez sur "Activer Secure Shell (SSH)". Pensez à le désactiver à la fin de l'opération si vous n'en avez pas l'utilité.

Ainsi, il est possible de se connecter sur l'hôte ESXi en SSH en indiquant son adresse IP et le port 22 (port par défaut). Ouvrez le fichier de configuration suivant :

vi /etc/vmware/config

Dans ce fichier, ajoutez le contenu suivant et enregistrez :

vmx.fullpath = "/bin/vmx"
isolation.tools.copy.disable="FALSE"
isolation.tools.paste.disable="FALSE"

Pour que ce soit pris en charge dans une VM, il sera nécessaire d'effectuer un redémarrage de la VM (si elle est en cours d'exécution). La bonne nouvelle, c'est qu'il n'est pas nécessaire de redémarrer le serveur VMware ESXi. Personnellement, je vous recommande plutôt d'activer la fonctionnalité au niveau d'une VM selon vos besoins, plutôt qu'au niveau du serveur.

The post VMware ESXi 7 : autoriser le copier-coller entre une VM et un PC first appeared on IT-Connect.

Windows 11, comment renommer ou modifier son nom d’utilisateur ?

24 juin 2022 à 18:06

Windows 11 propose différentes solutions pour changer ou modifier son nom d’utilisateur. L’opération peut se faire à tout moment. Cette possibilité est intéressante pour corriger un nom mal orthographié, le faire évoluer, le rendre plus personnel ou encore adoption un surnom.

Quelle que soit la raison, Windows 11 vous permet de mettre à jour le nom du compte de différentes manières, en fonction du type de compte que vous utilisez. Nous évoquerons ici que le cas des comptes locaux.

Windows 11, le panneau de configuration

L’opération la plus simple est probablement l’utilisation du Panneau de configuration. Si vous utilisez un compte local (sans compte Microsoft), procédez comme suit :

Windows 11 - Changer son nom d'utilisateur avec le Panneau de configuration

Ouvrez le Panneau de configuration pour vous rendre dans « Comptes d’utilisateurs ».

Windows 11 - Changer son nom d'utilisateur avec le Panneau de configuration

Cliquez ensuite sur l’option « Modifier le type de compte » et sélectionnez le compte local à mettre à jour,

Windows 11 - Changer son nom d'utilisateur avec le Panneau de configuration

Cliquez sur l’option « Modifier le nom du compte ».

Windows 11 - Changer son nom d'utilisateur avec le Panneau de configuration

Il ne reste plus cas indiquer le nouveau nom dans le champ « Nom du nouveau compte ». Il apparaitra sur l’écran de bienvenue et l’écran de démarrage.

Windows 11, l’utilitaire Gestion de l’ordinateur.

Une autre solution est d’utiliser l’utilitaire Gestion de l’ordinateur.

Windows 11 - Changer son nom d'utilisateur avec Gestion de l'ordinateur

Vous le trouverez en tapant ce nom dans le module de recherche de la barre des tâches. Dans la partie gauche de la fenêtre développez la branche Outils système afin de sélectionner « Utilisateurs et groupes locaux ».

Windows 11 - Changer son nom d'utilisateur avec Gestion de l'ordinateur

Dans la partie centrale ouvrez le dossier Utilisateurs pour sélectionner avec un clic droit de la souris le compte dont vous souhaitez modifier le nom.

Windows 11 - Changer son nom d'utilisateur avec Gestion de l'ordinateur Windows 11 - Changer son nom d'utilisateur avec Gestion de l'ordinateur

Choisissez dans la liste qui apparait l’entrée Renommer. Pour aller plus loin Propriétés ouvre une fenêtre où vous pourrez préciser le nom complet et une description. Les deux champs sont dans l’onglet Général. Il ne reste plus qu’à redémarrer pour que les changements prennent effets.

A noter que dans tous les cas la modification du nom de compte ne s’accompagne pas d’une modification du mon du dossier de profil. L’option pour le renommer n’existe pas. La seule solution est de créer un nouveau compte puis de transférer les informations vers ce profil.

The post Windows 11, comment renommer ou modifier son nom d’utilisateur ? appeared first on GinjFo.

GPO : comment désactiver les widgets de Windows 11 ?

24 juin 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons apprendre à désactiver les widgets de Windows 11 avec une GPO grâce au paramètre officiel mis à disposition par Microsoft. Cette nouvelle fonctionnalité de Windows 11, qui en vérité est héritage de Windows Vista (et Windows 7), ne fait pas forcément l'unanimité même si elle va plus loin que la fonctionnalité "Actualités et intérêts" de Windows 11. Certains administrateurs systèmes vont probablement chercher à la désactiver.

Ici, je fais référence à ce bouton accessible à partir de la barre des tâches.

désactiver les widgets de Windows 11

Même si l'on peut faire à partir de l'interface graphique, manuellement, sur une machine, ce n'est pas jouable à l'échelle d'un parc informatique. Au cas où, pour le faire via l'interface graphique, il faut ouvrir les Paramètres de Windows et suivre ce chemin : Personnalisation > Barre des tâches > Widgets (activer ou désactiver).

Pour disposer de ce paramètre de GPO et des autres liés à Windows 11, vous devez ajouter les modèles d'administration (ADMX) de Windows 11 à votre contrôleur de domaine Active Directory.

II. Désactiver les widgets Windows 11

A partir de la console de Gestion des stratégies de groupe, vous devez créer une nouvelle GPO ou modifier une GPO existante, tout en sachant qu'il s'agit d'un paramètre à appliquer au niveau ordinateur. Ensuite, il faut modifier la GPO et parcourir les paramètres de cette façon :

Configuration ordinateur > Stratégies > Modèles d'administration > Composants Windows > Widgets

Dans la section "Widgets", il y a un seul et unique paramètre : Allow widgets.

Vous devez configurer ce paramètre en indiquant l'état "Désactivé" puis, validez pour confirmer.

Désormais, la stratégie de groupe est prête ! Il ne reste plus qu'à tester sur un ordinateur sur lequel elle s'applique. Un petit "gpdupate /force" s'impose afin de voir la nouvelle configuration en action. Et là, le bouton "Widgets" n'est plus disponible !

Puisqu'il s'agit d'une configuration déployée par GPO, l'utilisateur n'a pas la possibilité de réactiver lui-même les widgets. Au sein des paramètres, l'option est verrouillée.

D'un point de vue du Registre Windows, cette configuration correspond à la valeur DWORD "TaskbarDa" avec comme donnée "0". Elle se situe à cet emplacement :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

L'alternative consiste à déployer cette valeur dans le Registre Windows mais il y a un paramètre de GPO à disposition, alors pourquoi se priver ?

The post GPO : comment désactiver les widgets de Windows 11 ? first appeared on IT-Connect.

Comment démarrer et éteindre automatiquement un NAS Synology ?

14 juin 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons apprendre à configurer un NAS Synology pour qu'il démarre et s'arrête automatiquement, selon un planning bien précis. Ainsi, vous allez pouvoir faire quelques économies sur votre facture d'électricité puisque le NAS ne tournera pas à plein régime 24/24H et 7/7J si vous n'en avez pas l'intérêt. Lorsque l'on utilise son NAS à usage personnel, on l'utilise surtout en soirée, le week-end, et éventuellement en journée, mais la nuit, il y a peu de chance... Alors, pourquoi le laisser tourner ? Au-delà d'économiser de l'électricité, c'est aussi une façon d'allonger la durée de vie de son appareil.

Avant de définir votre planning d'arrêt / démarrage, vous devez tenir compte :

  • Des éventuelles tâches de sauvegardes planifiées la nuit,
  • De la planification de la tâche de mise à jour automatique de DSM
  • Des éventuelles autres routines configurées au sein d'applications

Une fois que vous êtes au clair là-dessus, vous pouvez passer à la phase de configuration.... Pour ma part, je vais utiliser mon NAS Synology DS220+ pour ce tutoriel, sous DSM 7, mais cela s'applique aussi aux autres versions du système.

II. Configurer le planning sur DSM

Tout d'abord, connectez-vous à l'interface de DSM, cliquez sur "Panneau de configuration", "Matériel et alimentation" (1), puis l'onglet "Planif. alim." (2) et cliquez sur le bouton "Créer" (3). En fait, le planning se gère au jour le jour donc vous pouvez très bien imaginer ceci :

  • Éteindre le NAS à 23h00 du lundi au vendredi et à 01h00 du matin le week-end
  • Démarrer le NAS à 07h00 du lundi au vendredi et à 09h00 le week-end

Comment démarrer et éteindre automatiquement un NAS Synology ?

La première étape consiste à choisir entre "Démarrage" et "Eteindre", puis à sélectionner les jours de la semaine.

Une fois que l'action est choisie, et les jours également, vous devez préciser l'heure à laquelle vous souhaitez réaliser cette action. Il faudra penser aussi à cocher la case "Activé" sinon la tâche sera créée, mais non appliquée. Dans l'exemple ci-dessous, le NAS s'éteindra à 02h00 du matin tous les jours de la semaine, y compris le week-end, car j'ai des sauvegardes nocturnes à faire tourner.

Validez une fois que c'est fait, et créez d'autres tâches selon vos besoins... Notamment une tâche pour le démarrage.

Vos différentes tâches sont listées dans l'interface de DSM. Quand vous avez terminé, cliquez sur le bouton "Appliquer" pour sauvegarder vos changements. Sachez qu'à tout moment vous pouvez modifier cette configuration. L'option "Activé" est intéressante, car elle permet d'activer ou désactiver des tâches sans pour autant les supprimer : en période de vacances, cela peut vous permettre de basculer sur un planning différent en quelques clics.

Le bouton "Résumé" permet d'avoir une synthèse au jour le jour des phases de démarrage et d'arrêt du NAS. De quoi vérifier que la configuration est bonne ! 🙂

Voilà, votre NAS va s'éteindre et s'allumer tout seul comme un grand selon le planning que vous venez de définir ! 

The post Comment démarrer et éteindre automatiquement un NAS Synology ? first appeared on IT-Connect.

Les meilleurs raccourcis claviers pour Mac

9 juin 2022 à 08:50
Par : UnderNews

Lorsque l’on se penche sur une tâche chronophage, redondante ou les deux à la fois, on userait bien d’un bon moyen pour gagner du temps et profiter d’un aspect bien plus pratique. Qu’importe la tâche en cours, les raccourcis clavier servent à cela sur un ordinateur. En jouant, montant une vidéo ou tout simplement en […]

The post Les meilleurs raccourcis claviers pour Mac first appeared on UnderNews.

Linux : comment afficher les X premières lignes d’un fichier ?

3 juin 2022 à 10:00

I. Présentation

Sur un serveur Linux, il n'est pas rare de croiser des fichiers de configuration à rallonge ou des fichiers de logs très conséquents. Même si l'on s'intéresse souvent aux événements les plus récents, situés à la fin du fichier, il n'est rare d'avoir besoin de consulter les 10 ou les 20 premières lignes d'un fichier. Comment faire sans avoir à ouvrir le fichier entièrement (ce qui nécessite de le charger) ? C'est ce que nous allons voir dans ce tutoriel.

II. Afficher les 10 premières lignes d'un fichier

La commande "head" est intégrée à de nombreuses distributions Linux, notamment Debian que j'utilise pour cet exemple, et elle permet d'afficher le contenu d'un fichier en commençant par le début (d'où le nom de ce programme, probablement). Ainsi, si l'on appelle la commande head suivie d'un nom de fichier, sans préciser d'options, les 10 premières lignes du fichier s'affichent à l'écran. Voici un exemple avec le fichier "/var/log/apache2/access.log" :

head /var/log/apache2/access.log

Ce qui donne :

Linux : comment afficher les X premières lignes d'un fichier ?

Pour utiliser cette commande, il n'est pas utile d'avoir un accès root sur la machine, à moins que vous cherchiez à lire le contenu d'un fichier protégé auquel cas il sera nécessaire d'avoir suffisamment de privilèges. En préfixant la commande par "sudo", ça devrait aller si votre utilisateur est autorisé.

Maintenant, si l'on veut avoir plus de 10 lignes, admettons 20 lignes, comment faire ? Ce n'est pas beaucoup plus compliqué puisqu'il suffit de spécifier le nom de ligne sous le format "-X" où X représente le nombre de lignes à afficher. Voici comment afficher les 20 premières lignes du fichier access.log :

sudo head -20 /var/log/apache2/access.log

En fait, il y a une autre écriture possible à partir de l'option "-n" :

sudo head -n 20 /var/log/apache2/access.log

Ce que j'aime bien avec la commande head, c'est que l'on peut afficher le contenu de plusieurs fichiers en même temps. Pour comparer les données issues de plusieurs fichiers de logs ou plusieurs fichiers de configuration, ça peut être intéressant. Pour cela, il suffit de préciser les noms de fichiers à la suite (séparé par un espace) :

sudo head /var/log/apache2/access.log /var/log/apache2/error.log

Peut-on récupérer la valeur de la première ligne et la stocker dans une variable ?

La réponse est oui ! Et cela peut s'avérer utile dans un script, d'autant plus dans le cas d'un fichier de configuration. La syntaxe est facile à trouver pour afficher la première ligne :

sudo head -n 1 /var/log/apache2/access.log

Dans un script, on pourra stocker la valeur de cette ligne dans une variable. Voici un exemple avec une variable nommée "log" :

log=$(sudo head -n 1 /var/log/apache2/access.log)

Désormais, vous savez comment afficher les X premières lignes d'un fichier à l'aide de la commande head ! Elle est très pratique et facile à utiliser, même si l'on peut également effectuer la même chose avec awk et sed.

The post Linux : comment afficher les X premières lignes d’un fichier ? first appeared on IT-Connect.

Comment trouver le serveur Discord de vos rêves

29 mai 2022 à 09:00
Par : Korben

Si vous êtes à la recherche d’un serveur discord sur une thématique qui vous plait, pas la peine d’aller chouiner sur Twitter, il y a tout ce qu’il faut ici.

Vous devez simplement ouvrir une page sur Google (ou autre moteur de recherche) et lancer une recherche avec les paramètres suivants en remplaçant MOTCLÉ par ce que vous cherchez :

site:disboard.org/ | site:top.gg/ | site:discordservers.com/ | site:discord.st/ | site:discords.com/ | site:discordhome.com/ | site:discord.me/ | site:disforge.com/ | site:servers.discordland.gg/ | site:discordlist.space/ | site:discordtop.com/ | site:discordlist.me/ | site:discordbee.com/ | site:dyno.gg/ | site:trackyserver.com/ | site:discordinvites.net/ | site:discordhub.com/ "MOTCLÉ"

Vous pouvez évidemment combiner des mots avec l’opérateur AND comme ceci :

"MOTCLÉ1 AND MOTCLÉ2"

Et si la flemme, il y a toujours le site Serverse qui fait tout pareil.

Comment créer une VM Windows 11 avec VirtualBox ?

26 mai 2022 à 10:00

I. Présentation

Vous utilisez VirtualBox et vous souhaitez installer Windows 11 dans une machine virtuelle ? Alors ce tutoriel est fait pour vous ! En effet, nous allons apprendre à créer une machine virtuelle Windows 11 dans VirtualBox. Cela est possible même si VirtualBox est installé sur Windows 10 ou un autre système, car là on parle vraiment du système invité dans la VM.

Débutant avec VirtualBox ? Suivez ce tutoriel pour apprendre à l'installer et à créer une première machine virtuelle dans le détail.

II. Créer la VM Windows 11

Pour créer une nouvelle machine virtuelle sur VirtualBox, que ce soit pour installer Windows 11 ou tout autre système en partant de zéro, il suffit de cliquer sur le bouton "Nouvelle" afin de lancer l'assistant de création d'une VM.

Pour cette première étape, plusieurs champs sont à renseigner :

  • Nom : nom de la machine virtuelle, ici "Windows 11 22H2 (Preview)"
  • Dossier de la machine : où stocker la machine virtuelle, ici ce sera dans le dossier par défaut c'est-à-dire dans le profil de mon utilisateur
  • Type : le type de système d'exploitation donc nous devons sélectionner "Microsoft Windows"
  • Version : la version du système, donc pour Windows 11, nous devons sélectionner "Windows11_64"

Quand tout est correctement configuré, cliquez sur "Suivant" pour continuer.

Puisque l'on a sélectionné Windows 11, VirtualBox va ajuster la configuration recommandée tout au long de l'assistant. De ce fait, pour la RAM, il va se caler sur les prérequis de Microsoft, à savoir 4 Go de RAM (mémoire vive). Si vous avez les ressources nécessaires, je vous recommande de laisser 4 Go, mais si ce n'est pas le cas vous pouvez partir sur 2 Go.

Le stockage est indispensable pour installer le système d'exploitation puis les données par la suite. Il s'agit d'une nouvelle machine virtuelle, donc choisissez "Créer un disque dur virtuel maintenant". Cliquez sur "Créer".

Cette machine virtuelle étant destinée à tourner uniquement en local sur notre installation de VirtualBox, vous pouvez sélectionner "VDI" puisqu'il s'agit du format natif de VirtualBox. Cliquez sur "Suivant".

Il s'agit d'une simple machine virtuelle pour réaliser des tests sur Windows 11, donc un disque dur virtuel dynamique est adapté. Choisissez "Dynamiquement alloué"  avant de poursuivre.

Pour la taille du disque dur virtuel, VirtualBox recommande 80 Go, enfin le curseur est positionné sur 80 Go, mais d'après la documentation de Microsoft, c'est 64 Go la valeur recommandée officiellement. J'indique une taille de 64 Go afin de respecter les prérequis de Windows 11, mais là encore, on pourrait attribuer une taille inférieure. Souvenez-vous que de toute façon, le disque dur grossira dynamiquement en fonction de l'usage utilisé. Cliquez sur "Créer" pour créer la VM !

Pour finaliser la création de la machine virtuelle, nous devons spécifier l'image ISO d'installation de Windows 11 dans la configuration de la VM. En effet, sans les sources d'installation, l'affaire se complique... Suivez les étapes suivantes :

1 - Sélectionnez la VM dans l'inventaire VirtualBox

2 - Cliquez sur le bouton "Configuration"

3 - Cliquez sur "Stockage" à gauche,

4 - Sélectionnez le lecteur DVD où c'est indiqué "Vide" pour le moment

5 - Cliquez sur l'icône en forme de DVD (5)

6 - Choisissez l'option "Choose a disk file"

Sélectionnez l'image ISO du système d'exploitation que vous souhaitez installer puis validez. Autrement dit, sélectionnez l'image ISO d'installation récupérée sur le site de Microsoft. Voici ce que j'obtiens :

Avant de continuer, cliquez sur "Système" à gauche puis sur l'onglet "Processeur" afin de vérifier qu'il y a bien 2 processus associés à cette VM. Validez.

III. Installer Windows 11 dans une VM VirtualBox

La machine virtuelle est prête, nous n'avons plus qu'à la démarrer puis à installer le système Windows 11, même si ce n'est pas si simple comme nous allons le voir. Commencez par sélectionner la VM et cliquez sur le bouton "Démarrer".

Une seconde fenêtre s'ouvre... Avec un visuel sur la VM, ici il faut appuyer sur une touche pour démarrer sur l'image ISO et démarrer le processus d'installation de Windows 11. Lorsque le choix de la langue s'affiche (ou lors choix de la version de Windows 11, si vous avez déjà avancé), vous devez positionner votre souris dans la VM et effectuer la combinaison de touches "SHIFT + F10" avec votre clavier.

Une invite de commande "cmd.exe" va s'ouvrir. Saisissez la commande ci-dessous pour ouvrir l'éditeur de registre :

regedit

Vous allez me dire, pourquoi ? Et bien, nous devons modifier la base de registre pour que l'installation de Windows 11 soit possible, sinon on va être bloqué à cause des prérequis qui ne sont pas respectés (la puce TPM 2.0 ne semble pas prise en charge par VirtualBox). Cette manipulation est indispensable, et elle permet aussi de bypasser certaines vérifications. Par exemple, pour la RAM : Windows 11 requiert 4 Go de RAM mais vous souhaitez attribuer seulement 2 Go.

C'est parti pour effectuer quelques modifications... Commencez par parcourir l'arborescence du registre de cette façon :

HKEY_LOCAL_MACHINE\SYSTEM\Setup

Effectuez un clic droit sur "Setup" à gauche : un menu s'ouvre... Sous "Nouveau", cliquez sur "Clé" afin de créer une nouvelle clé nommée "LabConfig" (en respectant la casse).

Installation de Windows 11 - Création de la clé LabConfig
Installation de Windows 11 - Création de la clé LabConfig

Au sein de la clé LabConfig, en fonction du ou des prérequis que vous souhaitez bypasser, il y a plusieurs valeurs à créer (faites au moins les trois premières) :

  • BypassTPMCheck
  • BypassSecureBootCheck
  • BypassRAMCheck
  • BypassStorageCheck
  • BypassCPUCheck

Commençons par la valeur liée à la puce TPM, que vous devez nommer "BypassTPMCheck". Pour créer une valeur, effectuez un clic droit sur "LabConfig", puis sous "Nouveau" cliquez sur "Valeur DWORD 32 bits".

Nommez la valeur "BypassTPMCheck" et validez. Une fois que la valeur est créée, vous devez la modifier pour indiquer "1" à la place de "0". Le tour est joué pour cette première valeur.

Windows 11 : création de la valeur BypassTPMCheck
Windows 11 : création de la valeur BypassTPMCheck

Répéter cette opération pour créer les autres valeurs, en pensant à mettre l'état à "1". Vous obtenez ceci :

Fermez l'éditeur de registre et l'invite de commande afin de retourner sur l'assistant d'installation de Windows 11. Grâce aux modifications que nous venons d'apporter, vous allez pouvoir continuer l'installation sans aucune difficulté.

L'installation sur le disque de la machine virtuelle va s'effectuer. Une fois que ce sera fait, la VM va redémarrer.

Je ne m'attarde pas sur le processus d'installation de Windows 11 car il n'y a qu'à suivre les étapes. In fine, Windows 11 est installé sur la machine virtuelle VirtualBox. Félicitations ! 🙂

IV. Installer les Additions invité de Windows 11

Pour finaliser l'installation de notre VM Windows 11, nous devons installer les "Additions invité" (Guest Additions) pour Windows. Cette installation s'effectue directement dans la VM sur le système d'exploitation invité. C'est important pour améliorer la prise en charge de la VM par VirtualBox et avoir accès à des fonctionnalités supplémentaires. Par exemple, cela va permettre d'améliorer la prise en charge vidéo au sein de la machine virtuelle, mais également de partager le presse-papier entre l'hôte physique et la VM.

Dans la fenêtre de la machine virtuelle, cliquez sur le bouton "Périphériques" puis "Insérer l'image CD des additions invités...".

Suite à cette action, le lecteur CD virtuel de la VM va contenir les sources d'installation des additions invité. Accédez à son contenu via l'Explorateur de fichiers, et exécutez "VBoxWindowsAdditions".

Note : vous remarquerez le fichier "windows11-bypass" qui permet de créer les valeurs de Registre que nous avons créées précédemment. Personnellement, je trouve que c'est plus simple de le faire manuellement, comme nous avons fait. Sinon, pendant le processus d'installation, il faut éjecter l'ISO de Windows 11 pour charger l'ISO VirtualBox, importer le fichier de Registre, puis refaire remonter le fichier ISO de Windows 11.

Un assistant va s'ouvrir... Cliquez sur "Suivant".

Cliquez sur "Installer" et patientez.

À la fin de l'installation, il sera nécessaire de redémarrer la VM. Après le redémarrage, les additions invité seront actives ! Voilà, la VM Windows 11 est prête, vous n'avez plus qu'à en profiter.

The post Comment créer une VM Windows 11 avec VirtualBox ? first appeared on IT-Connect.

Lister les modules PHP installés sur un serveur Linux

20 mai 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment lister les modules PHP installés (et chargés) sur un serveur Linux, afin de voir quels sont les modules accessibles par le serveur Web. Cette manipulation très simple est pratique lorsque l'on se demande si un module PHP est bien installé et bien chargé, mais aussi pour identifier s'il manque le paquet correspond à un module chargé dans le fichier php.ini.

Dans cet exemple, je vais m'appuyer sur un serveur sous Debian 11, avec PHP 7.4 installé, mais si vous utilisez PHP 8.X, cela fonctionnera également.

II. Lister les modules PHP chargés (et compilés)

À partir de la console sous Linux, il y a un excellent moyen de lister les modules chargés et compilés sur le serveur local sur lequel on se trouve, grâce à cette commande toute simple :

php -m

Cette commande va tout simplement retourner une liste de modules, comme celle sur mon serveur :

php -m

Cette liste peut s'avérer assez longue, donc grâce à la commande "grep" on va pouvoir ajouter un filtre sur le résultat de la commande "php -m". Par exemple, si l'on veut vérifier la présence du module "curl" dans la liste, on va exécuter :

php -m | grep -i curl

Si la commande retourne un résultat, c'est que le module est dans la liste retournée par "php -m", sinon c'est qu'il n'est pas chargé sur le serveur. Un module qui n'est pas chargé n'est peut-être tout simplement pas activé dans le fichier de configuration "php.ini". Par contre, s'il est bien activé, c'est peut-être que le paquet n'est pas installé sur le serveur web : c'est pour cette raison que l'on peut avoir besoin de regarder la liste des paquets installés sur la machine.

III. Lister les paquets PHP

Sur une machine Debian, la commande "dpkg" permet d'obtenir des informations sur les paquets, y compris les paquets installés sur la machine locale. Grâce à l'option "--get-selections", on va pouvoir faire une recherche, donc dans notre cas il faut qu’on liste tous les paquets avec le terme "php". Ce qui donne :

dpkg --get-selections php*

Dans la commande ci-dessus, l'astérisque est important pour rechercher tous les paquets dont le nom commence par "php". Dans la liste des résultats, je vois bien le paquet "php-curl" correspondant à ma requête précédente, ce qui est cohérent.

D'ailleurs, on pourrait affiner le résultat de la commande dpkg sur le même principe que nous l'avions fait précédemment grâce à "grep" :

dpkg --get-selections php* | grep -i curl

Une autre écriture consiste à récupérer la liste de tous les paquets puis à filtrer directement avec "grep", ce qui donne :

dpkg --get-selections | grep -i php

Si vous utilisez plutôt Rocky Linux (la distribution qui remplace CentOS...), alors c'est Yum qu'il faudra solliciter. Voici un exemple :

yum list installed | grep -i php

Voilà, de cette façon vous avez l'embarras du choix ! Avec ces deux commandes, vous êtes en mesure de visualiser les paquets installés et chargés ! S'il vous manque un paquet, une commande du style "apt-get install" suivie du nom du paquet devrait régler l'affaire !

The post Lister les modules PHP installés sur un serveur Linux first appeared on IT-Connect.

Comment corriger l’erreur d’approbation au domaine ?

Hey ! Bonjour à toutes et à tous ! Nous voilà de nouveau ensemble dans un article qui va cette fois-ci traiter d’une problématique que nous connaissons toutes et tous au moins une fois, qui est l’erreur de l’approbation au domaine sur une station de travail. Introduction Effectivement, qui n’a jamais eu une demande d’un …

L’article Comment corriger l’erreur d’approbation au domaine ? est apparu en premier sur Tech2Tech | News, Astuces, Tutos, Vidéos autour de l'informatique.

Comment déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS ?

Hey ! Bonjour à toutes et à tous ! Je vous propose aujourd’hui un nouvel article concernant l’environnement de Windows Server et plus particulièrement autour du rôle du service de bureau à distance. Êtes-vous prêt ? Confortablement installer dans votre fauteuil ? Bien alors, commençons ! Introduction Bon, je ne vais pas ici vous faire …

L’article Comment déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS ? est apparu en premier sur Tech2Tech | News, Astuces, Tutos, Vidéos autour de l'informatique.

Adobe Acrobat Reader DC : Comment faire une rotation gratuitement ?

Hey ! Bonjour à toutes et à tous ! Nous nous retrouvons pour un nouvel article qui va cette fois-ci être relativement court, mais qui va sûrement venir en aide à plus d’un d’entre vous. Je n’en doute pas une seconde ! Nous allons voir ensemble comment faire une rotation d’un fichier PDF au sein …

L’article Adobe Acrobat Reader DC : Comment faire une rotation gratuitement ? est apparu en premier sur Tech2Tech | News, Astuces, Tutos, Vidéos autour de l'informatique.

Comment convertir du FAT32 en NTFS sans perte de données ?

Hey ! Bonjour à toutes et à tous ! Nous nous retrouvons dans un nouvel article qui expliquera les manipulations à suivre pour convertir un volume qui a un système de fichier FAT32 en NTFS et ceci sans perte de données. Introduction Et voilà ! Vous venez de faire l’achat de votre nouveau disque dur …

L’article Comment convertir du FAT32 en NTFS sans perte de données ? est apparu en premier sur Tech2Tech | News, Astuces, Tutos, Vidéos autour de l'informatique.

❌