Saya selalu ingin menggunakan kata sandi tersimpan dari keyring saya untuk mengakses saham SMB dalam skrip (cadangan) di laptop saya. Tujuan saya bukan untuk mengekspos kata sandi dalam file dan menggunakan anacron untuk menjalankan backup. Setelah beberapa pengujian saya menemukan ini:
- Pasang share Anda sekali melalui Nautilus dan simpan kata sandi di keyring
- coba
gio mount smb://<server_name>/<share_name>
, apa yang seharusnya berfungsi tanpa kata sandi dalam sesi GNOME Anda
- Gunakan kode berikut dalam skrip cadangan:
Contoh diuji di 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>/
Saat menjalankan skrip melalui anacron dari /etc/cron.daily, Anda harus menggunakan pengguna yang memiliki akses ke keyring, misalnya:
pengguna su -c /home/user/scripts/rsync_sript.sh
cifs-utils
itu diinstal untuk.sudo apt-get install cifs-utils
.