使用单个安装命令安装多个共享

使用单个安装命令安装多个共享

如果我的 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

相关内容