Partager un répertoire et attribuer des permissions avec Net Share

I. Présentation

Windows inclut la commande "net share" qui permet notamment de partager un dossier déjà existant, de le paramétrer et d'attribuer des permissions pour vos utilisateurs sur ce partage.

Remarque : Les permissions attribuées par cette commande s'appliquent au partage mais pas au niveau des permissions NTFS, que vous devez gérer manuellement.

II. Objectif du script

  •  Créer le répertoire "ressources" à la racine de la partition "C:".
  •  Partager ce répertoire avec le nom "ressources" en limitant l'accès simultané à 10 utilisateurs, en ajoutant "Ressources Neoflow.fr" en description du partage. Les permissions sur le partage pour l'utilisateur "Florian" sont à définir pour qu'il accède en en lecture/écriture, et pour l'utilisateur "Administrateur" pour qu'il accède en contrôle total.

III. Le code

Voici le code du script, nous verrons les explications en troisième partie.

REM Creation d'un partage

REM Variables
set DossierPartage=C:\ressources
set NomPartage=ressources
set RemarquePartage="Ressources Neoflow.fr"
set NbrMaxUtilisateurs=10

REM Creation du repertoire
mkdir %DossierPartage%

REM Partage du repertoire et parametrage
net share %NomPartage%=%DossierPartage% /REMARK:%RemarquePartage% /USERS:%NbrMaxUtilisateurs% /GRANT:Florian,CHANGE /GRANT:Administrateur,FULL

IV. Explications

Vous avez le code certes, mais sans explication ça ne vous donne pas grand chose.

  •  La partie "Variables" : Toutes les lignes qui commencent par "set" permettent de définir des variables afin que vous ayez à modifier principalement que les valeurs des variables plutôt que la ligne directement. Par exemple, "DossierPartage" permet d'indiquer que le chemin du répertoire à créer pour le partage est "C:\ressources".
  •  La partie "Création du répertoire" : Grâce à la commande "mkdir" (make directory) on crée le répertoire qui doit être partagé ensuite, cette commande utilise la variable "DossierPartage" qui doit contenir le chemin vers le répertoire à créer. Ce qui donnera : mkdir C:\ressources
  •  La partie "Partage du répertoire et paramétrage" : C'est avec cette commande qu'on va partager le répertoire et le paramétrer.

En premier lieu on indique le nom du partage puis le chemin du répertoire à partagé (séparé par le signe égal), donc on utilise la variable "NomPartage" qui est égal au "DossierPartage" créé précédemment, ce qui donnera : ressources=C:\ressources

Ensuite, l'option "REMARK" permet d'ajouter la description "Ressources Neoflow.fr" à ce partage grâce à la variable "RemarquePartage". Ce qui donnera : /REMARK:"Ressources Neoflow.fr". Les guillemets sont importants puisque la valeur contient des espaces.

Quant à l'option "USERS", elle permet d'indiquer le nombre de connexions utilisateurs simultanées qu'on autorise. Elle prend la valeur indiquée pour la variable "NbrMaxUtilisateurs". Ce qui donnera : /USERS:10.

Pour finir, l'option "GRANT" permet d'ajouter des permissions à des utilisateurs. Ces permissions peuvent être READ pour lecture, CHANGE pour lecture/modification, et FULL pour contrôle total. Les permissions doivent s'écrire sous la forme :

/GRANT:utilisateur,droit

Si les permissions sont à définir pour plusieurs utilisateurs :

/GRANT:utilisateur1,droit /GRANT:utilisateur2,droit /GRANT:utilisateur3,droit

Note : On donne aux variables le nom qu'on souhaite.

V. La commande "net share" sans variable

Si vous vous sentez à l'aise avec la syntaxe de la commande net share, vous pouvez directement l'utiliser sans passer par des variables à définir en début de script. Pour cet exemple, voici la commande net share sans variable :

net share ressources=C:\ressources /REMARK:"Ressources Neoflow.fr" /USERS:10 /GRANT:Florian,CHANGE /GRANT:Administrateur,FULL

ll ne vous reste plus qu'à enregistrer votre script sous un fichier ".bat", puis, lors de l'exécution si vous n'êtes pas sous un compte Administrateur, faites clic droit sur le script puis "Exécuter en tant qu'Administrateur".

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 521.Voir tous les posts

4 thoughts on “Partager un répertoire et attribuer des permissions avec Net Share

  • Bonjour,
    C’est avec un grand intérêt que j’ai lu votre article, car il correspond exactement à ce que je cherche.
    Par contre j’aurai deux questions pour la commande « /GRANT:utilisateur,droit » :
    1 – Que faut-il écrire dans le paramètre « utilisateur », si celui-ci est « Tout le monde » ?
    2 – Le fait de rendre ce dossier invisible affecterait-il son partage et ses droits d’accès ?

    Merci beaucoup pour vos réponses.

    Répondre
  • Bonjour,

    Pour répondre à vos questions :

    1, Vous pouvez mettre : /GRANT:everyone,{DROIT}
    2, Non le « $ » n’affecte en rien les droits d’accès

    Cordialement

    Répondre
  • Bonjour ,

    mon script ne fonctionne pas :

    net share ressources=C:\scan /REMARK:scanner /USERS:10 /GRANT:everyone,CHANGE /GRANT:Administrateur,FULL

    ai-je fait une erreur ?
    Il se lance mais ne retourne pas d’erreur .

    Répondre
  • Je ne comprend pas pouvez vous m’appeler svp ?

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.