使用 .bashrc 自动挂载 SAMBA 共享

使用 .bashrc 自动挂载 SAMBA 共享

是否可以使用 .bashrc 文件在启动时挂载 Samba 网络共享

在我的 fstab 中我得到了它//192.168.1.104/ant /media/ant cifs gid=users,file_mode=0664,dir_mode=0775,auto,username=***,password=*** 0 0,但是只有在编辑 fstab 文件并运行 mount -a 时它才不起作用,所以我想如果我使用 .bashrc 文件它可能会起作用?

答案1

回答你的标题问题是可以的,可以从 .bashrc 挂载你的 /media/ant 简单地说

mount /media/ant 

在相关文件中。不幸的是,您必须以 root 身份运行,mount因此root您必须安排特定用户能够以 root 身份运行挂载,例如通过 sudo。这变得很复杂,并引入了其他安全问题。

根据配置,/media/ant目录将在系统启动时或具有 root 权限的帐户发出合适的挂载命令时挂载,例如mount -a。如果这不能满足您的要求,那么您可能需要配置自动挂载程序以在访问共享时挂载该共享,例如

编辑/etc/auto.master并添加如下行

/media /etc/auto.cifs

编辑 /etc/auto.cifs

ant -fstyp=cifs,gid=users,file_mode=0664,dir_mode=0775,auto,username=***,password=*** ://192.168.1.104/ant

重新启动 autofs 服务

service autofs restart

或者

/etc/init.d/autofs restart

现在,当您尝试访问 /media/ant 文件时,它应该会自动挂载。正如评论中所述,使用不同的挂载点可能是个好主意。

答案2

另一个选择可能是来自 pam_mount 项目 的 PAM。

如果您尝试对登录此计算机的许多或大多数用户执行此操作,它将非常有用。配置 PAM 和 pam_mount 后,登录过程中会自动为您完成所有操作,包括(在本例中)您的 SAMBA 共享的用户名/密码交换。

如果您在多台机器上使用中央数据库来存储用户名和密码,那么这种方法非常有用。在我们的例子中,我们使用 Active Directory,但任何与 PAM 配合使用的用户名/密码查找方法都是可以接受的(即:Kerberos、LDAP 等)。

不知道您的具体设置,我只是想为您提供该选项,因为根据您想要实现的目标和您想要实施的规模,它可能是一个更好的解决方案。

答案3

为了实现此功能,您需要做的就是启用netfs系统服务。这在您之前的问题在这里

只需确保将服务设置为在启动时启动。这可以在菜单中或通过简单的 来netfs完成。重新启动,在 中定义的 NFS 和 SMB/CIFS 挂载将按请求挂载。ntsysvchkconfig netfs on/etc/fstab

注意:我可能会使用不同的挂载点,因为/media在基于 RPM 的发行版中保留了该挂载点。

相关内容