在 Linux 上自动挂载 Windows 共享文件夹

在 Linux 上自动挂载 Windows 共享文件夹

我在windows上有一个共享文件夹,我通常这样挂载它

mkdir /media/somedir
sudo mount -t cifs //servername/sharename /media/somedir

问题是,一旦我重新启动计算机,安装的共享文件夹就不再是他们的,我必须再次运行上述命令。我想知道是否有办法在尝试访问该目录时自动挂载它?我已经检查过@吉尔斯评论他的答案发现这里如下图所示,他说可以通过编辑文件来完成,但不建议这样做,他说可能有一种方法可以在尝试访问目录时自动挂载它,他建议我以某人的身份提出问题也许能帮忙。有什么建议吗?

在此输入图像描述

答案1

您可以像这样向 fstab 添加一个条目:

//192.168.1.2/SambaPi    /home/pi/shares/pi    cifs    defaults,noauto,nofail,username=pi,passwd=raspberry,x-systemd.automount,x-systemd.requires=network-online.target    0    0

(未经测试就复制自这里)。该nofail参数将确保即使安装失败,启动也不会被中断。这noauto是可选的,将阻止安装驱动器,直到它被访问(请参阅这里更多细节)。这x-systemd参数将告诉系统等待网络建立后再安装(来源)。

您还可以通过在启动时运行的 shell 脚本来挂载它。这里更好的版本是创建一个 systemd-module 来为您执行此操作。您也可以使用 systemd 模块在关机时安全地卸载它。有大量的战利品好的 教程为此。

答案2

假设您想使用 Samba 将文件从一台机器共享到另一台机器,因为您使用了 cifs,这是一种较新的文件系统。

假设您拥有所有必需的软件包并且已在 smb.conf 文件中进行了所有必要的配置,我将将此答案限制为客户端配置。

要永久挂载共享目录,请打开fstab路径为 的文件/etc/fstab,并输入以下条目:

//<IP>/<share-name-of-directory> /mount/point cifs credentials=/root/creds.txt,sec=ntlmssp,multiuser,defaults 0 0

在此文件中输入条目后,运行命令mount -a。凭证将采用具有允许在系统上挂载目录的用户的用户名和密码的文件的路径。该用户登录后,将需要使用以下命令从服务器获取访问权限:

cifscreds add <ip-of-server>

之后用户将能够访问安装的目录。由于该条目已在 fstab 文件中创建,因此无需一次又一次地挂载该目录。该fstab文件在引导过程中被读取,并提供凭据,以便系统本身能够使用这些凭据从服务器挂载目录。

mount 命令本身仅临时挂载目录,因此当系统重新引导时,目录会被卸载。

答案3

假设您安装了 Samba 和 CIFS 实用程序,我发现向 /etc/fstab 添加 2 个条目就可以了。

/dev/sdb1 /mnt/sdb1   ntfs-3g defaults 0 0
/dev/sdb1 /mnt/sdb1   cifs    defaults 0 0

当您重新启动 Linux 时,您会发现驱动器已安装并共享。

相关内容