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 :
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.