This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

gargaben

Membres
  • Compteur de contenus

    20
  • Inscription

  • Dernière visite

À propos de gargaben

  • Rang
    Initié

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. Salut, tu pourrais mettre en ligne le contenu du script permettant d'envoyer un mail en ligne de commande? Jusqu'à il y a peu, j'utilisais "nail" via ipkg, mais ça ne marche plus depuis les récentes mises à jour de DSM. Je suis preneur de la syntaxe permettant de faire cela avec des commandes natives de DSM. Merci d'avance
  2. Version 1.1

    29 téléchargements

    Salut, j'utilise sur mon NAS l'appli PHOTOSTATION qui est bien pratique pour partager des photos avec des amis via Internet, et ce sans avoir à mettre ces dernières sur des sites tiers. Seul "bémol" trouvé : lors de l'ajout de nouvelles photos, il faut que j'avertisse manuellement chacune des personnes ayant les droits d'accès sur les albums concernés pour qu'elles pensent à venir jeter un coup d'oeil. SYNOLOGY n'ayant pas décidé de palier ce manque, j'ai donc pris mon courage à deux mains pour faire un script qui remplisse cette fonction. Le script ici rendu accessible permet donc de notifier automatiquement par mail les utilisateurs de PHOTOSTATION de l'ajout de nouvelles photos dans les albums auxquels ils ont accès. Aucun fichier de configuration à remplir, le script s'occupe de récupérer automatiquement sur le NAS toutes les informations dont il a besoin pour fonctionner (adresses mails, droits d'accès, etc.). J'ai fait ci-dessous un copier/coller des commentaires du début du script qui expliquent comment l'installer, quelles sont les restrictions/limites et comment tout cela fonctionne. ================== INSTALLATION ET CONFIGURATION ==================== Pour que ce script fonctionne, il faut que les conditions suivantes soient toutes respectées : 1) Le script (qui est en realite composé de deux fichiers : dsphoto_watchdog.sh et mail.php) doit être de préférence installé dans un repertoire dédié 2) Modifier les variables globales en début de script dans la section prévue a cet effet 3) L'envoi de notifications par mail du NAS SYNOLOGY doit être activé et configuré (cela se fait dans DSM sous Panneau de configuration/Notification/Général/Courrier électronique. 4) Le script doit être lancé en tant que root 5) PHOTOSTATION doit être configuré pour fonctionner avec les comptes utilisateurs du DSM (donc pas avec des comptes propres a PHOTOSTATION) 6) Les comptes utilisateurs DSM doivent avoir une adresse mail déclarée (cela se fait dans DSM sous Panneau de configuration/Utilisateur/<un utilisateur>/Courrier électronique) 7) Une fois toutes ces conditions validées, il faut lancer une fois le script pour qu'il "se configure" (voir le paragraphe ci-dessous expliquant le fonctionnement du script pour comprendre pourquoi) Une fois tout cela fait, vous pouvez lancer le script manuellement à chaque fois que vous le désirez. Cependant, un meilleur usage de celui-ci est de programmer son lancement a des intervalles réguliers (par exemple une fois par jour). Pour ce faire, il suffit d'utiliser le planificateur de tâches du DSM (cela se fait sous Panneau de configuraton/Planificateur de tâches).Une fois dans le planificateur, il faut créer une nouvelle tâche que l'on fera pointer sur le script. Remarque importante : configurer cette tâche pour qu'elle soit exécutée avec l'utilisateur root (cela se fait dans le planificateur de tâches, sous Paramètres généraux/Utilisateur). 9) Dernier conseil : le script donne des informations sur la sortie standard tout au long de son exécution (à des fins de DEBUG notamment). Si vous utilisez le planificateur de tâches, je ne saurais que trop vous conseiller de rediriger la sortie standard du script vers les logs systèmes. Pour ce faire, mettre à la fin de votre ligne de commande (dans le planificateur de tâches) les commandes additionnelles suivantes (hors crochets évidemment) [>> /var/log/messages 2>&1] ===================== REMARQUES IMPORTANTES =========================== 1) Comme indiqué ci-dessus, le script est prévu pour fonctionner uniquement si PHOTOSTATION utilise les comptes utilisateurs de DSM. Si PHOTOSTATION utilise des comptes propres a lui, le script ne fonctionnera pas 2) Le script fonctionne si vous avez des noms de dossiers ou des noms de photos avec des espaces 3) Si vos noms de dossiers ou de photos comportent des accents ou autres caractères "improbables" (par exemple des apostrophes), le script aura au mieux un comportement instable, au pire il ne fonctionnera pas (a éviter donc!) 4) Le script n'a pas été testé avec le service "Photo Station Personnel". Il est donc possible qu'il ne fonctionne pas ou ait un comportement instable si vous utilisez cette option 5) Le script ne surveille pas les photos directement enregistrées dans le répertoire racine de vos photos (typiquemet /volume1/photo). Il faut impérativement que vous photos soient dans des répertoires contenus dans le repertoire racine des photos. 6) Le script, dés son premier lancement, va créer un fichier s'appelle dsphoto_watchdog.log. Il est impératif de ne surtout pas tenter de le modifier ou de le supprimer. Faute de quoi, le script ne fonctionnera pas ou n'aura pas le fonctionnement voulu (voir le paragraphe ci-dessous expliquant le fonctionnement du script pour comprendre pourquoi) ===================== FONCTIONNEMENT DU SCRIPT =========================== Le script va comparer la date de chacune des photos contenues dans les albums de votre dossier photo avec la date de sa dernière exécution. Si la date des photos est plus récente que celle de la dernière exécution, un mail est envoyé aux utilisateurs qui ont les droits d'accès à l'album concerné. Le mail contiendra les informations suivantes : - le nom des albums contenant des nouvelles photos - le nombre de photos ajoutées dans chacun de ces albums - un rappel du l'URL permettant d'accéder a votre PHOTOSTATION (optionnel) - votre signature (optionnel) Une fois le script installé, il faut le lancer une premiere fois de façon à ce qu'il retienne une première date d'exécution. Celle-ci sera sauvegardée dans un fichier nommé "dsphoto_watchdog.log". A chaque exécution suivante, le script prendra comme date de référence celle contenue dans ce fichier "dsphoto_watchdog.log". Une fois la recherche de nouvelles photos terminée, le script s'achèvera par la mise a jour de ce fichier "dsphoto_watchdog.log" en remplaçant la date contenue par celle de cette nouvelle exécution du script.
  3. Re, OK j'ai testé ton script et ça marche nickel. Je vais également basculer chez moi avec cette nouvelle version. Quelques remarques/réponses : - j'ai "cleané" un peu le code à partir de ta version (genre des vieux trucs que je devais faire depuis longtemps) - j'ai cleané également un peu ton code (genre ne pas afficher le mot de passe récupéré dans le trousseau dans les messages de notification ) - pour l'autorisation à cette clé du trousseau, pas la peine de donner les droits à toutes les applis : au premier lancement du script, OS X te demande si tu veux donner un accès permanent à cette clé au script. Si tu cliques sur OK, ça sera bon et limité au seul script (en réalité à l'utilitaire "security" si tu regardes les propriétés de la clé une fois l'autorisation permanente donnée) - Pour ta question sur mount_afp, si tu ne donnes pas de point de montage, mount_afp te renverra une erreur car il ne saura pas où monter ton dossier réseau sur ton ordinateur local. Ais-je bien répondu ou suis-je à côté de la plaque (i.e. je n'ai peut-être pas bien compris ta question)? Bon, je mets cette nouvelle version sur la page des téléchargements du forum dans la foulée de cette réponse => Encore merci à toi pour cette proposition d'évolution. A+
  4. OK cool. Je viens de comprendre ce que tu voulais faire! C'est clair que c'est pas mal du tout : ça permet d'avoir des comptes sur le NAS différents de ceux des ordinateurs, ce qui peut être vraiment pratique (pas utile dans mon cas, mais quand même bien pratique et plus "générique"!). En plus, pour déployer le script, c'est plus simple : il suffit de créer une clé dans le trousseau pour chaque utilisateur, et cette clé peut avoir le même nom (plus de besoin de cette histoire de NAS.automount.<nom d'utilisateur>). Ecoute, je veux bien ta version mise à jour du script. Je la teste chez moi et si c'est OK, je la met en dispo dans la section téléchargement du forum (ce sera la version 2.6 donc). En tout cas cool de voir que ce script peut servir à d'autres. A+
  5. @via78 : bon finalement, j'avais encore 5mn. Commande depuis le terminal (testé) avec une clé du nom de NAS.automount.ben : security find-generic-password -g -s NAS.automount.ben 2>&1 | sed -n '7p'| sed 's/"acct"<blob>="//g' | sed 's/"//g' | sed -e "s/^ *//g" Commande pour le script (non testée) : set user to do shell script "security find-generic-password -g -s " & keychain_key_root & " 2>&1 | sed -n '7p'| sed 's/"acct"<blob>="//g' | sed 's/"//g' | sed -e 's/^ *//g'" Remarque : par contre dans ce cas, la variable keychain_key_root doit contenir NAS.automount.ben, ce qui n'est pas le cas dans l'implémentation actuelle du script (elle contient seulement pour le moment NAS.automount) En espérant que cela puisse te servir.
  6. @via78 : hum, oui je pense que ça doit être faisable, et en plus ça serait au final plus "propre" qu'un whoami (même si le résultat au final serait le même). Je regarde et essaye de te répondre d'ici demain. Ps : pour la réactivité, coup de chance
  7. Il suffit juste de mettre un devant chaque caractère espace dans le nom de ton partage
  8. Salut, juste pour être sur d'avoir bien compris ta question : tu voudrais récupérer le user depuis quelle clef du trousseau? Celle que tu as créé pour l'exécution du script ou tu parles d'une autre clef?
  9. gargaben

    O

    C'est bon, la boucle est bouclée. Ce que je cherchais, c'était de pouvoir savoir quel utilisateur avait quels droits dans PhotoStation, et de récupérer les adresses mail de ces utilisateurs pour leur envoyer un mail dans le cadre de mon script. Au cas ou cela intéresserait quelqu'un : - On récupère les droits d'accès via la table photo_access_right_for_dsm_account de la base photo du serveur PostgreSQL Synology ; - A chaque droit est associé un userid. La correspondance userid/nom du compte est donnée par le fichier /etc/passwd ; - La récupération de l'adresse mail est possible via le fichier /etc/synouser.conf, qui contient à la fois le nom du compte et l'adresse mail qui lui est associée. Merci à toi bud77! Ton aide m'a été précieuse. Il ne me reste plus qu'à implémenter tout cela dans mon script....
  10. gargaben

    O

    Non, j'avais déjà vu cette table mais c'est pas bon. Les userid donnés par la table photo_access_right_for_dsm_account sont ceux des comptes du DSM. Les données contenues dans la table photo_user concernent les éventuels comptent créés pour PhotoStation uniquement (il ne s'agit pas des comptes du DSM). Les userid des comptes du DSM et ceux des comptes de PhotoStation ne sont pas les mêmes. Merci quand même. A mon avis, ces informations ne sont pas dans la base photo, mais dans une base contenant la configuration générale du NAS. Mais je ne trouve pas de trace d'une telle base...
  11. gargaben

    O

    Ok merci. J'ai bien trouvé la table gérant les droits d'accès pour PhotoStation. Ces informations se trouvent dans la base 'photo', puis dans la table 'photo_access_right_for_dsm_account'. Cette dernière table contient deux informations : userid : entier qui représente l'ID du user concerné. shareid : entier qui représente l'ID d'un répertoire de photo. La corrélation entre cet ID et le vrai nom du répertoire se fait grâce à la table 'photo_share', toujours contenue dans la base 'photo'. Par contre, je n'ai pas trouvé où récupérer la corrélation entre un ID de user (le userid donc) et ses informations (son nom, son adresse mail s'il l'a déclaré, etc.). Si tu as une idée, je suis preneur. Je vais également continuer à chercher.
  12. gargaben

    O

    Ok merci à toi! Je regarde cela et mettrais le résultat de mes recherches dans la suite de ce post (au cas où ça pourrait servir à d'autres)
  13. gargaben

    O

    OK, si je veux "fouiller" dans cette base, comment puis-je procéder? Quelles sont les commandes possibles? Je peux recourir à phpMyAdmin ou la base n'est pas accessible par ce biais?