如果我的 fstab 中有 10 个共享/挂载点,是否可以只运行一个挂载命令来同时挂载它们,以避免 10 次验证自己?我尝试过类似
sudo mount /mnt/share1, /mnt/share2, ...
等等,但没有成功。对于我尝试安装的所有共享,身份验证都是相同的(相同的用户名,相同的密码)。
谢谢
答案1
您可以编写一个脚本,输入用户名和密码并将其应用于所需的每个挂载。该脚本需要以 root 级别权限运行。这还假定挂载都是 Samba 共享。您需要调整脚本以包含每个挂载点。使用此脚本,您必须定义所有挂载选项,而不是依赖于以下选项fstab
:
#!/bin/bash
echo "Enter username for mounts:"
read mount_user
[[ -z "mount_user" ]] && echo "Username empty, exiting" && exit
echo "Enter password for mounts:"
read -s mount_pass
[[ -z "mount_pass" ]] && echo "Password empty, exiting" && exit
# Mount first share
mount -t cifs //server1/share1 /mnt/share1 -o username="$mount_user",password="$mount_pass"
# Mount second share
mount ...
将此脚本保存为类似的内容/home/user/mountall
,然后使用 执行它sudo /home/user/mountall
。
这确实会将您的密码以明文形式加载到内存中,并在脚本运行过程中加载到变量中。这在您的环境中是否被视为不安全,是您的安全团队要考虑的问题。
答案2
您正在寻找的命令可能是这样的:
sudo mount -a
我不确定身份验证会如何工作,但可以尝试一下。如果它不起作用,您可以随时通过以下方式编辑 fstab 条目:
//servername/sharename /media/windowsshare cifs username=msusername,password=mspassword,iocharset=utf8,sec=ntlm 0 0
答案3
将您的mount
命令放入bash
脚本中,然后sudo
将该脚本放入其中。
#!/bin/bash
mount .....
mount .....
mount .....
exit 0