Changer le groupe de propriétaires de fichiers sous Linux avec java.nio.Files
J'ai un serveur Linux et je suis à court d'une image, redimensionnement d'emploi en Java pour plusieurs sites web sur mon serveur. Les fichiers du site sont la propriété de différents systèmes d'exploitation des utilisateurs/groupes. Nouvellement créé vignettes/aperçus sont la propriété de l'utilisateur qui exécute le redimensionnement de l'emploi. Maintenant, j'étais googleing sur la manière de changer le propriétaire du fichier nouvellement créé previews/vignettes dans mon redimensionner programme et suis tombé sur ceci:
java.nio.file.Files.setOwner(Path path, UserPrincipal owner);
Ce serait vraiment résoudre mon problème, si c'était Windows, mais depuis un fichier Linux a un utilisateur et un groupe en tant que propriétaire je suis un peu en difficulté. Malheureusement, compte tenu de la méthode semble être la seule à changer l'utilisateur la propriété du fichier. La propriété du groupe reste avec le groupe de l'utilisateur qui exécute mon Java redimensionner travail.
Les sites web sont détenus par les différents groupes, afin d'ajouter mon redimensionner travail de l'utilisateur à un groupe n'est pas une option. Je tiens également à éviter des appels système avec ProcessBuilder
et d'exécuter un chown
sur mes fichiers.
J'ai besoin de faire remarquer que les fichiers créés (aperçu/vignette) peut être consulté via le site internet et il n'est pas essentiel à la mission de changer le groupe d'appartenance, mais je voulais qu'il soit aussi propre que possible.
Des suggestions comment je peux changer le groupe propriétaire d'un fichier sous Linux uniquement à l'aide de Java?
source d'informationauteur Peter Ilfrich
Vous devez vous connecter pour publier un commentaire.
Merci Jim Garrison pour me pointer dans la bonne direction. Voici le code, qui a finalement résolu le problème pour moi.
Récupérer le groupe propriétaire d'un fichier
Définir le groupe propriétaire d'un fichier
J'ai raté une solution complète, ici, il s'agit (combinaison d'autres réponses et commentaires):
Être conscient que seul le propriétaire d'un fichier peut changer son groupe et seulement pour un groupe, il est membre de...
Prendre un coup d'oeil à l'emballage
java.nio.file.attributes
et de la classePosixFilePermissions
. C'est là que vous pouvez manipuler des autorisations de groupe.