现状
给出以下/etc/fstab
挂载点:
//server/app /home/user/server/app cifs noauto,user,vers=3.11 0 0
//server/code /home/user/server/code cifs noauto,user,vers=3.11 0 0
这些要以user
特权(不带sudo
)安装。Givenuser
已登录,password
当前以交互方式提示 - 没有凭据文件,也没有硬编码的密码/etc/fstab
。
另外:所有共享都具有相同的凭据user
和相同的密码。
问题是什么?
假设我们想在启动时挂载所有共享。分享app
:
mount ~/server/app # `user` is active
# password interactively requested
Password for user@//server/app: (press TAB for no echo)
问题是,我必须为所有共享输入相同的密码,因为它不会被缓存。
我试过的
# type password once and store it in process memory
echo "Enter password for mounts:"
read -s mount_pass
[[ -z "mount_pass" ]] && echo "Password empty, exiting" && exit
# mount all shares - how to feed every mount command with given password?
mount ~/server/app
mount ~/server/code
# My attempts
echo $mount_pass | mount ~/server/app
mount ~/server/app < <(echo $mount_pass)
(原谅我肤浅的shell知识)
有没有办法将存储在命令中的密码传递$mount_pass
给mount
命令,以便它可以通过其标准输入自动读取并且不打开交互式提示?