J'ai toujours voulu utiliser les mots de passe stockés dans mon trousseau pour accéder aux partages SMB dans scripts (sauvegardes) sur mon ordinateur portable. Mon but était de ne pas exposer les mots de passe dans des fichiers et d'utiliser anacron pour exécuter les sauvegardes. Après quelques tests, j'ai trouvé ceci :
- Montez votre partage une fois via Nautilus et stockez le mot de passe dans le trousseau.
- essayer
gio mount smb://<server_name>/<share_name>
Ce qui devrait fonctionner sans mot de passe dans votre session GNOME
- Utilisez le code suivant dans les scripts de sauvegarde :
Exemple testé sur Ubuntu 19.04 :
# set the dbus address
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"
# export dbus address to get access to user space keyring
export DBUS_SESSION_BUS_ADDRESS
# use new gnome user space mount tool (gvfs-mount is deprecated)
gio mount smb://<server_name>/<share_name>
#sync from gvfs created mount point to home dir
rsync -rav /var/run/user/$(id -u)/gvfs/smb-share\:server\=<server_name>\,share\=<share_name>/<folder>/ ~/<sync_dest>/
Lorsque vous exécutez le script via anacron à partir de /etc/cron.daily, vous devez utiliser l'utilisateur qui a accès au trousseau, par exemple :
su -c /home/user/scripts/rsync_sript.sh user