Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1495 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Permissions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Permissions

n°1282755
nibbles1
Pour la gloire de NFT
Posté le 13-01-2006 à 11:05:15  profilanswer
 

Bonjour,
 
bricolant du Perl depuis 2 mois seulement, je suis pas encore un spécialiste et y a des trucs encore qui m'échappent :D  
 
La question du jour concerne les permissions sur les fichiers.
 
- J'appartiens à un groupe administrateur sur une machine distante (Win Server 2003)
- Je m'y connecte en Client Terminal Server depuis un poste... NT4 :whistle:  
- J'exécute un script Perl (perl -w machin.pl argumnent_bidule)
- En faisant un

Code :
  1. unlink $fic_dat
  2.   or warn "Impossible de supprimer $fic_dat : $!\n";


(et a priori pour un "rename" ) j'ai un "permission denied".
- Je peux évidemment créer / modifier / renommer / déplacer / supprimer des fichiers depuis une invite de commande ou un explorateur.
 
Pour information $fic_dat contient le chemin complet de mon fichier et le fichier a été créé par un autre utilisateur du même groupe admin. Ce dernier obtient le même résultat en lançant le script.
 
Je suppose donc que n'importe qui lançant le script Perl obtiendrait le même résultat. Est-ce que je me trompe ?
 
Et sinon, comment expliquer ça ? Comment Perl gère les droits ? J'ai aucune envie de faire un system "del"...
 
Merci

mood
Publicité
Posté le 13-01-2006 à 11:05:15  profilanswer
 

n°1283409
Danjer
Posté le 13-01-2006 à 22:52:47  profilanswer
 

nibbles1 a écrit :


Je suppose donc que n'importe qui lançant le script Perl obtiendrait le même résultat. Est-ce que je me trompe ?


 
Par forcement... tu as essaye avec l'utilisateur qui a cree le fichier ? (si ce n'est pas possible tu peux toujours essayer en creant un compte de test).
 

nibbles1 a écrit :


Et sinon, comment expliquer ça ? Comment Perl gère les droits ? J'ai aucune envie de faire un system "del"...


Les droits ne sont pas "gere" par Perl mais par le systeme d'exploitation. L'interaction entre les programmes et l'OS se font via des appels systemes. Perl vient du monde unix et s'est construit sur une suite d'appels systemes bases sur une norme. Cette norme s'appel Posix. Windows est compatible Posix 1 depuis NT4. Appriori, il ne devrait pas y avoir de problemes, malheureusement la gestion des droits sous windows est beaucoup plus fine que sous unix (acl). Quoiqu'il en soit rien ne permet d'affirmer que sous windows l'appel systeme DeleteFile (ce que doit utiliser le programme del) fasse les memes verifications que unlink.
 
Tu devrais essayer d'utilise l'api native de Windows DeleteFile que tu trouveras dans le modules Win32API::File
http://search.cpan.org/dist/Win32API-File/File.pm
 
Tu devrais jouer avec ca aussi :
http://search.cpan.org/~nwclark/pe [...] 2/Win32.pm
http://www.xav.com/perl/site/lib/Win32/File.html
http://www.xav.com/perl/site/lib/W [...] urity.html
 
Bonne chance, je ne fait que supposer...


Message édité par Danjer le 13-01-2006 à 22:53:57

---------------
Cdl, Danjer
n°1283440
nibbles1
Pour la gloire de NFT
Posté le 14-01-2006 à 00:00:18  profilanswer
 

En fait un system("del" ) échoue aussi et dit que le fichier est utilisé par un autre processus.
 
Désolé j'ai oublié de précisé que j'avais résolu le problème, le handle de fichier était ouvert...
 
Merci quand même :)


---------------
JeanBeulz, chercheur coincheur

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Permissions

 

Sujets relatifs
[Perl] Probleme avec ForkLancer script Perl dans du code Java
Thread Perl (Urgentissime--Help)[socket en perl] ecouter un port sur son pc
pb de redirection en perlerreur d'execution des CGI en pêrl
[perl] multicast et windowsModifier permissions en masse sur NT4
[perl] lancer un process windows en perl[perl] passer une variable a une expression reguliere
Plus de sujets relatifs à : [Perl] Permissions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR