![使用 .bashrc 自动挂载 SAMBA 共享](https://linux22.com/image/591357/%E4%BD%BF%E7%94%A8%20.bashrc%20%E8%87%AA%E5%8A%A8%E6%8C%82%E8%BD%BD%20SAMBA%20%E5%85%B1%E4%BA%AB.png)
是否可以使用 .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 挂载将按请求挂载。ntsysv
chkconfig netfs on
/etc/fstab
注意:我可能会使用不同的挂载点,因为/media
在基于 RPM 的发行版中保留了该挂载点。