Création de la ressource pour les fichiers Logs

La ressource utilisées pour stocker les logs (ce script) n'est pas simple à définir car tous les utilisateurs peuvent y écrire des données mais on ne veut pas qu'ils les suppriment.

Voyons ce que l'on peut faire pour limiter la casse. Ce sera le support pour présenter la création d'une ressource par script, l'utilisation de RMTSHARE et SetACL.

Étapes :

  1. Fichier de définition de la ressource
  2. Création de la ressource (RMTSHARE)
  3. Droits NTFS

Fichier de configuration

Un fichier de configuration est utile pour centraliser toutes nos données (serveurs, noms de partage, etc). Le fichier est le suivant :

rsc-log.ini

srvlog=srv-etk-2003
drivelog=c
dirlog=logtest
sharelog=logtest$

La lecture de ce fichier se fait avec la ligne suivante dans le batch (trop simple non ?)

for /f "tokens=1,2 delims==" %%i in (clog.ini) do set %%i=%%j

Création de la ressource.

On donne le contrôle total à l'administrateur le droit de modifier aux utilisateurs du domaine. le nombre de connexions n'est pas limité.

RMTSHARE %UNC%=%DRIVELOG%:\%DIRLOG% /UNLIMITED /GRANT administrateurs:F
RMTSHARE %UNC% /GRANT utilisateurs:C

Droits NTFS

On donne le droit lire exécuter aux utilisateurs du domaine

SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG% -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:read_ex";M:grant"

On donne le droit de créer des fichier dans ce dossier et les sous dossiers (utilisateurs et PC)

SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG% -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:add_file";i:np,sc;M:grant"

On donne le droit d'ajouter des données, Attributs d'écriture, Écriture d'attributs étendus aux dossiers logtest, PC, Utilisateurs aux utilisateurs du domaine, 3 fois la même chose

SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG% -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:add_subdir";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG% -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_attr";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG% -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_ea";i:io,so;M:grant"

SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\PC -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:add_subdir";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\PC -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_attr";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\PC -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_ea";i:io,so;M:grant"

SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\Utilisateurs -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:add_subdir";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\Utilisateurs -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_attr";i:io,so;M:grant"
SetAcl -on \\%SRVLOG%\%DRIVELOG%$\%DIRLOG%\Utilisateurs -ot file -actn ace -ace "n:%USERDOMAIN%\utilisa. du domaine;p:write_ea";i:io,so;M:grant"

Voilà, on peut probablement faire mieux mais au moins, on ne peut pas créer d'autres dossiers que ceux existant, on ne peut pas supprimer les fichiers. On peut faire d'autres choses mais.... ce site site est public, je ne voudrais pas donner de mauvaises idées.