Tôi luôn muốn sử dụng mật khẩu được lưu trữ từ khóa của mình để truy cập vào cổ phiếu SMB trong các tập lệnh (bản sao lưu) trên máy tính xách tay của tôi. Mục đích của tôi là không để lộ mật khẩu trong các tập tin và sử dụng anacron để chạy các bản sao lưu. Sau một số thử nghiệm, tôi đã đưa ra điều này:
- Gắn kết chia sẻ của bạn một lần qua Nautilus và lưu mật khẩu trong quá trình khóa
- Hãy thử
gio mount smb://<server_name>/<share_name>
, những gì sẽ hoạt động mà không có mật khẩu trong phiên Gnome của bạn
- Sử dụng mã sau trong tập lệnh sao lưu:
Ví dụ được thử nghiệm trên 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>/
Khi chạy tập lệnh qua anacron từ /etc/cron.d Daily, bạn cần sử dụng người dùng có quyền truy cập vào khóa, ví dụ:
người dùng su -c /home/user/scripts/rsync_sript.sh
cifs-utils
đã được cài đặt cho.sudo apt-get install cifs-utils
.