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

  FORUM HardWare.fr
  Programmation
  Java

  chown/chmod en Java ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chown/chmod en Java ?

n°256611
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-11-2002 à 22:39:46  profilanswer
 

Bonjour les gens,
 
Vala, je me doute que ce genre d'opération n'est pas forcément possible sur tous les OS, mais je voulais savoir s'il y avait la possibilité de lire ou changer les droits d'accès à un fichier en Java. J'ai bien regardé dans java.io et même si y a un setReadOnly() dans File, ça me va pas vraiment :\
En fait, l'idée de base, c'est passke je parse avec un prog Java toutes les nuits un répertoire de plusieurs milliers de fichiers et le chmod -R 777 * c'est très bof :D
 
Donc voilà, vous avez des idées ?

mood
Publicité
Posté le 28-11-2002 à 22:39:46  profilanswer
 

n°256626
gfive
Posté le 28-11-2002 à 23:01:26  profilanswer
 

Tu parse, mais tu fais quoi, avec chaque fichier??

n°256636
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-11-2002 à 23:09:08  profilanswer
 

Oula... une grande histoire :)
Alors, c'est touplin d'fichiers MP3 avec des tags ID3. J'lis le tag et s'il est bien mis, je renomme le fichier du genre artiste_-_titre.mp3. Puis je bouge le fichier dans le répertoire approprié. Or, mon prog s'exécute avec les droits root. Donc ba du coup, les fichiers sont en root:root ou avec un chmod genre 700. Mais pas tout l'temps. Et j'voudrais faire en sorte que ça devienne du joliuser:joligroup avec un chmod 750 ou kek chose du style.
Vala.


Message édité par Taiche le 28-11-2002 à 23:10:10
n°256644
gfive
Posté le 28-11-2002 à 23:17:59  profilanswer
 

Ah, ben si c'est que pour faire ça, tu peux le faire avec du awk, du bash et un petit exécutable Linux qui s'appelle id3v2...Je l'ai fait pour renommer mes fichiers (une sombre histoire d'accents perdus, en fait! :D) mais bon...
Franchement, c'est tout con, et sans doute beaucoup plus rapide qu'en Java..

n°256645
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-11-2002 à 23:23:01  profilanswer
 

Ba ui, OK, m'enfin comme mon prog se tape déjà tout le répertoire, j'voulais faire d'une pierre deux coups pour éviter de tout relire :p
Sinon oui, y a bien la solution shell mais bon bof. Pis mon prog ne fait pas que ça et tout ce que j'ai pu trouver sur le Net qui se rapprochait plus ou moins de ce que je voulais faire était soit très limité soit buggé.

n°256647
HappyHarry
Posté le 28-11-2002 à 23:29:42  profilanswer
 

bah aprs ton programme java tu fais betement
 
chown -R joliuser repertoire
chgrp -R joligroupe repertoire
chmod -R 750 repertoire
 
non ?

n°256648
gfive
Posté le 28-11-2002 à 23:30:10  profilanswer
 

Bah c'est toi qui voit, hein! :) Pis bon, les tags ID3, tu peux les récupérer en awk ou en perl, sinon : c'est en clair dans le mp3...Parce qu'avec du Java, pour ce qui est des changements de droits, beeeeen...J'ai peur que ce soit extrêmement galère!! En C, encore, je dis pas...Mais en Java..

n°256649
matafan
Posté le 28-11-2002 à 23:30:31  profilanswer
 

Je comprend pas pourquoi le chmod -R 777 ne te convient pas. Mais tu peux toujours essayer ça, même si je ne suis pas sûr que ça soit plus rapide :

find . -not -perm 777 -exec chmod 777 {}\;


Message édité par matafan le 28-11-2002 à 23:30:45
n°256658
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 28-11-2002 à 23:40:21  profilanswer
 

Oula, 3 posts, c'est Noël :)
Donc euh dans l'ordre (ou pas) :
* HappyHarry et Matafan : bin le souci, c'est que j'ai un vieux paquet de fichiers et de répertoires, quand même. Si j'dis plus de 13000, ça vous parle ? :D Surtout que comme je veux faire ça toutes les nuits, bin ça veut dire que le chmod/chown récursif fera ça toutes les nuits pour tous les fichiers, alors que si je le fais une seule fois, bin la plupart des fichiers auront les bons droits. Donc comme mon prog lit déjà tous les fichiers un par un, bin il m'aurait suffi (+t ? j'sais jamais) d'ajouter la bonne ligne qui va bien en Java pour vérifier les droits et les setter si besoin.
* gfive : bin ui, c'est tout vu, awk et perl c'est pas tellement mon rayon. awk passke c'est trop limité pour tout ce que je veux faire et perl passke chu pas super fan du langage et pas très très calé (moins qu'en Java, en tout cas). Ba sinon, c'est pas super grave, y a pas mort d'homme, au pire j'ferai du System.exec() [:xp1700]
* re-Matafan : merci pour la ligne de commande, j'verrai peut-être ce que ça donne :)

n°256670
HappyHarry
Posté le 29-11-2002 à 00:14:12  profilanswer
 

ben sauf erreur de ma part, ca fait rien quand les fichiers ont deja les bons droits ...
donc des la 2e execution ca sera relativment rapide

mood
Publicité
Posté le 29-11-2002 à 00:14:12  profilanswer
 

n°256739
gfive
Posté le 29-11-2002 à 08:58:01  profilanswer
 

Taiche a écrit a écrit :

Oula, 3 posts, c'est Noël :)
awk passke c'est trop limité pour tout ce que je veux faire




 
Rhôôô!! Hérésie que tout cela!! :D Nan, sans dec, Awk, une fois maitrisé, c'est vachement mighty, comme truc, mais bon ;)..Je me suis même fait un machin bidule qui me crée le site web de download de mes MP3 pour mes collègues au boulot, avec Awk..


Message édité par gfive le 29-11-2002 à 09:02:20
n°256755
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 29-11-2002 à 09:25:00  profilanswer
 

Harry : ah ba dans ce cas, ça va m'intéresser ! J'vais voir un peu plus, alors.
gfive : ouais, mais awk ça dialogue moyen avec une base MySQL :D


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°256812
gfive
Posté le 29-11-2002 à 10:47:36  profilanswer
 

baah, ça peut...
 
echo "commande sql" >> fichier
 
mysql -u user -ppassword < fichier | awk ...
 
Et hop!
 
:D:D
 
mouarf..
Nan, mais bon, je pensais que t'avais que des manips de renomage et autres trucs du genre à faire...Dans ce genre de cas, ça suffit largement! :)

n°256920
matafan
Posté le 29-11-2002 à 12:58:40  profilanswer
 

De toute façon pour que ton soft se rende compte qu'un fichier a déjà les bons droits, il faut bien qu'il fasse un accès... Donc de toute façon il devra à chaque fois parcourir tes 13000 fichiers (enfin sauf si tu tiens par ailleurs un catalogue des fichiers déjà modifiés). Donc tu perds rien à faire un chmod -R.

n°256967
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 29-11-2002 à 13:30:58  profilanswer
 

Matafan a écrit a écrit :

De toute façon pour que ton soft se rende compte qu'un fichier a déjà les bons droits, il faut bien qu'il fasse un accès... Donc de toute façon il devra à chaque fois parcourir tes 13000 fichiers (enfin sauf si tu tiens par ailleurs un catalogue des fichiers déjà modifiés). Donc tu perds rien à faire un chmod -R.




 
Nan mais nan, mon soft a un accès root et y a des fichiers qui ont comme droits ceux que j'ai cités plus haut (root:root, en 700). Mais je veux pouvoir donner les droits à un autre user, dans un autre groupe.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.

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

  chown/chmod en Java ?

 

Sujets relatifs
[newbie] comment marche la commande java dans la console?Mise en page de Code (Java)
En quoi java est pratique pour programmer des trucs qui interagissentRecuperer le pid en Java
[JAVA] Distinguer un fichier ASCII d'un fichier unicode[un peu Java] WebObjects ?
[java - swing] JTextField & focus automatique :/[java] IntelliJ Idea 3.0 et import optimisation
[JAVA,JSP] JSP vs PHP , Pourquoi préférer JSP à PHP ?[Java] Comment on utilise finalize() ?
Plus de sujets relatifs à : chown/chmod en Java ?


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