ฉันต้องการใช้รหัสผ่านที่เก็บไว้จากพวงกุญแจของฉันสำหรับการเข้าถึง SMB ที่ใช้ร่วมกันในสคริปต์ (สำรองข้อมูล) บนแล็ปท็อปของฉัน เป้าหมายของฉันคือไม่เปิดเผยรหัสผ่านในไฟล์และใช้ anacron เพื่อสำรองข้อมูล หลังจากการทดสอบฉันพบสิ่งนี้:
- เมานต์แชร์ของคุณหนึ่งครั้งผ่าน Nautilus และเก็บรหัสผ่านไว้ในพวงกุญแจ
- ลอง
gio mount smb://<server_name>/<share_name>
สิ่งที่ควรทำงานโดยไม่มีรหัสผ่านในเซสชัน GNOME ของคุณ
- ใช้รหัสต่อไปนี้ในสคริปต์สำรอง:
ตัวอย่างทดสอบบน 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>/
เมื่อรันสคริปต์ผ่าน anacron จาก /etc/cron.daily คุณต้องใช้ผู้ใช้ที่มีการเข้าถึง keyring เช่น:
ผู้ใช้ su -c /home/user/scripts/rsync_sript.sh
cifs-utils
ได้ติดตั้งไว้แล้วsudo apt-get install cifs-utils
.