如何自动“sudo mount”?

如何自动“sudo mount”?

我的 NAS 服务器上有几个共享目录,我想自动挂载它们。

目前我已尝试将它们放入我的.bashrc文件中,但这意味着每次我打开终端时,它都会尝试安装它们,即使它们已经安装。

有没有更好的方法来自动安装这些?如果没有,有没有办法sudo mount只有当语句尚未安装时才有条件地执行这些语句?

答案1

这是一种在启动时挂载共享的方法。

首先打开一个终端,它应该在你的主目录中打开。输入以下内容:

touch .smbcredentials 

然后在您喜欢的编辑器中打开~/.smbcredentials并添加以下几行

username=your user name
password=you user password

保存文件并再次打开终端并输入:

sudo chmod 600 .smbcredentials

现在打开你的/etc/fstab 文件...你可以在终端中打开它sudo vi,或者用你最喜欢的终端程序或者使用sudo gedit 你最喜欢的 GUI 编辑器(该文件必须在根目录中编辑,否则你将无法保存它)

在文件末尾,/etc/fstab您将需要为每个共享添加一行,格式为shared directory path/name the location of the folder it will be mapped to on your system cifs a line to your credentials file一些其他内容。我会给您举一个例子,但路径都是错误的。您需要更改它们以适合您正在使用的共享。

例如..如果我在名为 MAIN 的网络计算机上有一个名为 Downloads 的共享(您也可以使用 IP 地址,如 //192.168.1.102)并且我希望将其映射到位于的文件夹,/media/user/myshare 并且我的本地用户名是 Joe,则该行将如下所示:

//MAIN/Downloads /media/user/myshare cifs credentials=/home/Joe/.smbcredentials,users,iocharset=utf8,sec=ntlm 0 0 

或者

//192.168.1.102/Downloads /media/user/myshare cifs credentials=/home/Joe/.smbcredentials,users,iocharset=utf8,sec=ntlm 0 0  

根据您提供的信息,正确的结果是:

 //192.168.192.62/volume1/video/Movies /media/NAS-movies cifs credentials=/home/mark/.smbcredentials,users,iocharset=utf8,sec=ntlm 0 0

它看起来和你给我的确实一模一样,但还是试一试吧..对我来说已经很晚了,我可能错过了一些东西:D

需要注意的几件事...Linux 区分大小写,因此如果共享名为 Downloads,则需要使用 Downloads。. downloads 不是同一个文件夹。您在本地计算机上映射共享的文件夹必须存在,否则 fstab 将失败。

设置此共享并保存文件后...卸载共享并在终端中输入:

sudo mount -a

看看您是否有任何错误...如果没有错误,请检查共享是否已安装..如果已安装..那么您做对了一切,每次启动计算机时都会安装该共享...只需按照相同的步骤在您的 NAS 上创建任何其他共享..当然..您只需执行一次 smbcredential 文件,因此添加任何其他共享只会更改我们添加的行的前两部分。

在与原发帖人聊天后,我们发现他缺少一些重要的文件,如 samba 和 cifs。一旦我们获得系统所需的所有文件,我们就能解决问题

相关内容