Bonjour, je possède un gestionnaire de téléchargement en JAVA pour lequel j'ai crée un service systemd. Le gestionnaire à son propre compte sur le serveur sur lequel il n'est pas possible de se loguer. Le service utilise ce compte plutôt que root pour lancer le script java.
Tous les téléchargement vont dans le dossier "/home/downloads" dont le propriétaire est nobody:nogroup avec des droits en 777. Forcément, lorsque les fichiers sont téléchargés, le propriétaire est le gestionnaire de téléchargement, ce qui me gêne un petit peu. J'aimerais que les fichiers appartiennent à nobody:nogroup ou idéalement appartiennent automatiquement au propriétaire du dossier vers lequel le fichier est déplacé.
Je ne sais pas si c'est supporté nativement par Linux. Pour le moment la seule solution que j'ai trouvé, c'est d'écrire un script qui pourrait s'occuper de modifier le propriétaire des nouveaux fichiers copiés/déplacés.
Si vous avez d'autres solutions, je suis preneur.
Merci !
# nativement, il est possible d'agir sur le groupe
Posté par totof2000 . Évalué à 4.
https://feub.net/2008/03/setuid-setgid-et-sticky-bit/
Je ne connais pas de moyen d'agir directement sur l'owner. Celà dit :
Comment fait-on pour savoir, lorsqu'on dépose un fichier dans un répertoire, à qui est destiné ce fichier ?
[^] # Re: nativement, il est possible d'agir sur le groupe
Posté par Chris K. . Évalué à 2. Dernière modification le 18 octobre 2016 à 19:51.
+1 pour setguid qui est la solution traditionnelle et simple pour partager les accès sur des fichiers.
Pour ce qui est de changer l'owner il est maintenant possible de surveiller grâce à inotify les ajouts de fichiers dans un répertoire et d’exécuter une commande dessus avec incron. On peut donc faire un chown / chmod.
Pour cela :
1 Installer le package incron
2 Créer un fichier /etc/incron.d/nom_de_mon_job
3 Editer son contenu et adapter la ligne suivante :
4 Relancer le service incron
Maintenant lorsqu'un fichier est déplacé dans /path/to/dir les deux commandes sont alors directement appelées.
# Directement en Java avec java.nio.file.Files
Posté par B r u n o (site web personnel) . Évalué à 3.
Regarde la méthode setPosixFilePermissions de java.nio.file.Files, comme cela tu peux positionner les droits directement depuis ton service Java. Ça existe à partir de Java 7.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.